AWS SDK for Android. For more information, see our web site:

Overview

AWS SDK for Android

DiscordChat GitHub release Maven Central CircleCI

For new projects, we recommend interacting with AWS using the Amplify Framework.

The AWS SDK for Android is a collection of low-level libraries for direct interaction with AWS backend services. For use cases not covered by the Amplify Framework, you may directly integrate these clients into your Android app.

Installation

The AWS SDK for Android can be directly embedded via .aar files, or you can download it from the Maven Central repository, by integrating it into your Android project's Gradle files.

From Maven

We recommend obtaining the dependency from Maven. To do so, add a dependency to your app's (module-level) build.gradle, in the dependencies section:

dependencies {
    implementation 'com.amazonaws:aws-android-sdk-SERVICE:2.x.y'
}

Above, SERVICE might be s3, ddb, pinpoint, etc. A full list is provided below.

Downloading SDK libraries

You can also download a .zip file containg .aar files for each of the SDK modules, here.

Add the aar files to a folder in your project called libs (create one if it doesn't already exist).

Ensure that the libs directory is included in your module-level build.gradle, under the dependencies block:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.aar'])
}

Available Modules

  • apigateway-core
  • auth-core
  • auth-facebook
  • auth-google
  • auth-ui
  • auth-userpools
  • cloudwatch
  • cognitoauth
  • cognitoidentityprovider
  • comprehend
  • connect
  • connectparticipant
  • core
  • ddb
  • ddb-document
  • ddb-mapper
  • ec2
  • iot
  • kinesis
  • kinesisvideo
  • kinesisvideo-archivedmedia
  • kinesisvideo-signaling
  • kms
  • lambda
  • lex
  • location
  • logs
  • machinelearning
  • mobile-client
  • pinpoint
  • polly
  • rekognition
  • s3
  • sagemaker-runtime
  • sdb
  • ses
  • sns
  • sqs
  • testutils
  • textract
  • transcribe
  • translate

SDK Fundamentals

There are a few fundamentals that are helpful to know when developing against the AWS SDK for Android.

  • Never embed credentials in an Android application. It is trivially easy to decompile applications and steal embedded credentials. Always use temporarily vended credentials from services such as Amazon Cognito Identity.
  • Unless explicitly stated, calls are synchronous and must be taken off of the main thread.
  • Unless explicitly stated, calls can always throw an AmazonServiceException or an AmazonClientException (depending on if the exception is generated by the service or the client respectively).
  • The SDK will handle re-trying requests automatically, but unless explicitly stated will throw an exception if it cannot contact AWS.
  • We are always looking to help, please feel free to open an issue.

Versioning

The Android SDK is versioned like 2.x.y. 2 is a product identifier that never changes. x is bumped when there are breaking changes. y is bumped for not-breaking bugfixes, or for the introduction of new features/capabilities.

Building the SDK

Pre-requisites

The AWS Core Runtime (aws-android-sdk-core) module builds against Android API Level 23. Please download and install Android API Level 23 through SDK Manager in Android Studio, before building the SDK.

Set the ANDROID_HOME environment variable, to the root directory of your Android SDK installation.

For example, on a Mac OS X where Android Studio has been installed, the SDK comes bundled with it.

export ANDROID_HOME="$HOME/Library/Android/sdk"

Build

./gradlew build

Consuming Development Versions

Once you've built the SDK, you can manually install the SDK by publishing its artifacts to your local Maven repository.

The local Maven repository is usually found in your home directory at ~/.m2/repository.

To publish the outputs of the build, execute the following command from the root of the amplify-android project:

./gradlew publishToMavenLocal

After this, you can use the published development artifacts from an app. To do so, specify mavenLocal() inside the app's top-level build.gradle(Project) file:

buildscript {
    repositories {
        mavenLocal() // this should ideally appear before other repositories
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:4.0.1'
    }
}

allprojects {
    repositories {
        mavenLocal() // this should ideally appear before other repositories
    }
}

Then, find the VERSION_NAME of the library inside gradle.properties file.

Use the above version to specify dependencies in your app's build.gradle (:app) file:

dependencies {
    implementation 'com.amazonaws:aws-android-sdk-SERVICE:VERSION_NAME'
}

Talk to Us

Come chat with us on our Discord Channel.

Report bugs to our GitHub Issues page.

Author

Amazon Web Services

License

See the LICENSE.txt for more info.

You might also like...
Android Chat SDK built on Firebase
Android Chat SDK built on Firebase

Chat21 is the core of the open source live chat platform Tiledesk.com. Chat21 SDK Documentation Features With Chat21 Android SDK you can: Send a direc

Liquid SDK (Android)

Liquid Android SDK Quick Start to Liquid SDK for Android This document is just a quick start introduction to Liquid SDK for Android. We recommend you

新浪微博 Android SDK

ReadMe 公告: 鉴于线上服务器出现问题,推荐下载本地aar后上传到自己公司的服务器,保证后续服务稳定, 我们也将尽快重新提供一个稳定的地址供大家使用。 新包地址:https://github.com/sinaweibosdk/weibo_android_sdk/tree/master/2019

Official Appwrite Android SDK 💚  🤖
Official Appwrite Android SDK 💚 🤖

Appwrite Android SDK This SDK is compatible with Appwrite server version 0.8.x. For older versions, please check previous releases. Appwrite is an ope

This App is sending Face capture data over network, built around the latest Android Arcore SDK.
This App is sending Face capture data over network, built around the latest Android Arcore SDK.

AndroidArcoreFacesStreaming From any Android phone ArCore compatible, using this app will send over TCP 5680 bytes messages: The first 5616 bytes is a

Trackingplan for Android SDK
Trackingplan for Android SDK

With Trackingplan for Android you can make sure that your tracking is going as you planned without changing your current analytics stack or code.

Desk360 Mobile Chat SDK for Android

Desk360 Chat Android SDK Introduction Desk360 Live Chat SDK is an open source Android library that provides live support to your customers directly fr

Storyblok Kotlin Multiplatform SDK sample (Android, JVM, JS)

storyblok-mp-SDK-sample *WIP* ... a showcase of the Storyblok Kotlin Multiplatform Client SDK. (Android, JVM, JS, iOS, ...) What's included 🚀 • About

A demo of Rongcloud uniapp sdk integration for compiling debug-apk in Android Studio

Rongcloud-uniapp-sdk-demo A demo of Rongcloud uniapp sdk integration for compiling debug-apk in Android Studio 这是一个为了给uniapp在Android平台打出debug-apk的demo

Comments
  • Open rate is not counted as 0 in AWS Pinpoint

    Open rate is not counted as 0 in AWS Pinpoint

    State your question I'm using aws-android-sdk-pinpoint to confirm receipt of push notifications, but the open rate remains 0 even if I open the push notification. Open rates are not documented.

    In addition, the following message is displayed when a message is received.

     AmazonClientException: Failed submission of 1 events, events will be removed from the local database. 
        com.amazonaws.AmazonClientException: Cognito Identity not configured
    

    In addition, the following message is displayed when a message is received. Cognito's init is done in the Activity after opening, is it related?

    Which AWS Services are you utilizing? AWS Pinpoint

    Provide code snippets (if applicable)

     AmazonClientException: Failed submission of 1 events, events will be removed from the local database. 
        com.amazonaws.AmazonClientException: Cognito Identity not configured
    

    Environment(please complete the following information):

    • 'com.amazonaws:aws-android-sdk-mobile-client:2.54.0'
    • 'com.amazonaws:aws-android-sdk-auth-userpools:2.54.0'
    • 'com.amazonaws:aws-android-sdk-pinpoint:2.54.0'

    Device Information (please complete the following information):

    • Device: Galaxy Note8 SC-01K
      • Android Version: 9
    • Device: AQUOS sense6 SH-54B
      • Android Version: 9
    pinpoint pending-triage 
    opened by OhashiTakuya 0
  • chore: change log level for failed keystore migration

    chore: change log level for failed keystore migration

    Issue #, if available:

    Description of changes:

    By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

    opened by div5yesh 0
Releases(release_v2.60.0)
  • release_v2.60.0(Dec 21, 2022)

    Features

    • aws-android-sdk-core: update models to latest (#3082)
    • aws-android-sdk-iot: update models to latest (#3090)
    • aws-android-sdk-textract: update models to latest (#3092)
    • aws-android-sdk-lambda: update models to latest (#3094)
    • aws-android-sdk-kinesis: update models to latest (#3096)
    • aws-android-sdk-polly: update models to latest (#3104)
    • aws-android-sdk-sns: update models to latest (#3105)
    • aws-android-sdk-transcribe: update models to latest (#3107)
    • aws-android-sdk-kms: update models to latest (#3114)

    Miscellaneous

    • Fix NPE if Pinpoint configured without event collection (#3117)
    • Correctly pass Pinpoint ID (or null if it's not there) to Cognito User Pool (#3060)
    Source code(tar.gz)
    Source code(zip)
  • release_v2.59.1(Dec 7, 2022)

    Bug Fixes

    • core: added fix for xml parser (#3100)
    • pinpoint: Fix GCM (Not FCM) Android 12 trampolining (#3109)
    • pinpoint: Remove GCM service as target class usage as it is no longer allowed in Android 12. (#3110)
    Source code(tar.gz)
    Source code(zip)
  • release_v2.59.0(Nov 22, 2022)

  • release_v2.58.0(Nov 16, 2022)

    Features

    • aws-android-sdk-iot: update models to latest (#3070)
    • aws-android-sdk-rekognition: update models to latest (#3071)
    • add support for ZAZ region (#3076)
    Source code(tar.gz)
    Source code(zip)
  • release_v2.57.0(Nov 9, 2022)

    Features

    • aws-android-sdk-cognitoidentityprovider: update models to latest (#3045)
    • aws-android-sdk-polly: update models to latest (#3062)
    • add support for ZRH region (#3068)
    Source code(tar.gz)
    Source code(zip)
  • release_v2.56.0(Nov 3, 2022)

    Features

    • aws-android-sdk-textract: update models to latest (#3057)
    • aws-android-sdk-connect: update models to latest (#3053)
    • aws-android-sdk-iot: update models to latest (#3054)
    • aws-android-sdk-location: update models to latest (#3049)

    Bug Fixes

    • iot: wait for disconnect to finish before setting connection state to disconnected (#3051)
    Source code(tar.gz)
    Source code(zip)
  • release_v2.55.0(Oct 20, 2022)

    Features

    • aws-android-sdk-polly: update models to latest (#3027)
    • aws-android-sdk-translate: update models to latest (#3028)
    • storage: Customize minimum multipart upload size (#3039)
    • aws-android-sdk-chimesdkmessaging: update models to latest (#3041)
    • aws-android-sdk-connect: update models to latest (#3040)

    Bug Fixes

    • Events deleted from local DB on failures when device is offline (#3038)
    Source code(tar.gz)
    Source code(zip)
  • release_v2.54.0(Sep 29, 2022)

    Features

    • aws-android-sdk-connect: update models to latest (#3011)
    • aws-android-sdk-comprehend: update models to latest (#3013)
    • aws-android-sdk-location: update models to latest (#3020)

    Bug Fixes

    • aws-android-sdk-core: modify region parsing for endpoints in vpc (#3024)

    Miscellaneous

    • Fix Pinpoint NullPointerException (#3007)
    Source code(tar.gz)
    Source code(zip)
  • release_v2.53.0(Sep 15, 2022)

    Features

    • aws-android-sdk-cognitoidentityprovider: update models to latest (#2996)
    • aws-android-sdk-sns: update models to latest (#2999)

    Bug Fixes

    • cognitoauth: forward lambda trigger exception for social sign in (#3002)
    Source code(tar.gz)
    Source code(zip)
  • release_v2.52.1(Aug 30, 2022)

  • release_v2.52.0(Aug 25, 2022)

    Features

    • aws-android-sdk-chimesdkmessaging: update models to latest (#2978)
    • aws-android-sdk-rekognition: update models to latest (#2980)
    • aws-android-sdk-lambda: update models to latest (#2982)
    • aws-android-sdk-cognitoidentityprovider: update models to latest (#2984)

    Miscellaneous

    • Update cache when awsconfig file changes (#2946)
    • Actually attach Javadocs jar files to build (#2988)
    Source code(tar.gz)
    Source code(zip)
  • release_v2.51.0(Aug 11, 2022)

    Features

    • aws-android-sdk-iot: update models to latest (#2968)
    • aws-android-sdk-cognitoidentityprovider: update models to latest (#2966)
    • aws-android-sdk-polly: update models to latest (#2959)
    • aws-android-sdk-rekognition: update models to latest (#2957)
    • aws-android-sdk-transcribe: update models to latest (#2953)
    • aws-android-sdk-kms: update models to latest (#2948)
    • aws-android-sdk-location: update models to latest (#2975)

    Miscellaneous

    • Remove behavior of stopping TransferService on transfers completed, since this could be unsafe (#2973)
    • Fix Javadocs jar file publishing using buildspec file. (#2971)
    Source code(tar.gz)
    Source code(zip)
  • release_v2.50.1(Jul 28, 2022)

  • release_v2.50.0(Jul 25, 2022)

    Features

    • aws-android-sdk-iot: update models to latest (#2936)
    • aws-android-sdk-translate: update models to latest (#2940)
    • aws-android-sdk-polly: update models to latest (#2938)

    Miscellaneous

    • Stop transfer service if all transfers complete (#2950)
    Source code(tar.gz)
    Source code(zip)
  • release_v2.49.0(Jun 23, 2022)

  • release_v2.48.1(Jun 16, 2022)

  • release_v2.48.0(Jun 9, 2022)

    Features

    • aws-android-sdk-cognitoidentityprovider: update models to latest (#2916)
    • aws-android-sdk-transcribe: update models to latest (#2917)
    • aws-android-sdk-chimesdkmessaging: update models to latest (#2922)

    Bug Fixes

    • Fix: API 30+ fix for opening Pinpoint push notification links (#2924)
    • Fix(pinpoint) 2762: Resolve Android 12 notification trampolining restrictions and ADM Push Notifications (#2925)

    Miscellaneous

    • upgrade jmespath to version 1.6.1 (#2926)
    Source code(tar.gz)
    Source code(zip)
  • release_v2.47.0(May 23, 2022)

    Features

    • aws-android-sdk-comprehend: update models to latest (#2908)

    Miscellaneous

    • Update gson version (#2910)
    • Update notify_comments.yml (#2911)
    Source code(tar.gz)
    Source code(zip)
  • release_v2.46.0(May 19, 2022)

    Features

    • aws-android-sdk-location: update models to latest (#2890)
    • aws-android-sdk-iot: update models to latest (#2895)
    • aws-android-sdk-core: update models to latest (#2898)
    • aws-android-sdk-rekognition: update models to latest (#2899)
    • aws-android-sdk-kms: update models to latest (#2901)

    Bug Fixes

    • Progress calculation for mulitpart upload #2905 (#2906)

    Miscellaneous

    • Update notify_comments.yml (#2903)
    Source code(tar.gz)
    Source code(zip)
  • release_v2.45.0(May 5, 2022)

    Features

    • aws-android-sdk-connect: update models to latest (#2881)
    • aws-android-sdk-rekognition: update models to latest (#2879)
    • aws-android-sdk-textract: update models to latest (#2870)
    • aws-android-sdk-polly: update models to latest (#2869)
    • aws-android-sdk-kms: update models to latest (#2868)
    • aws-android-sdk-kinesisvideo: update models to latest (#2885)
    • aws-android-sdk-kinesisvideo-archivedmedia: update models to latest (#2884)

    Miscellaneous

    • Fix notification opt-out checking on Samsung devices (#2883)
    Source code(tar.gz)
    Source code(zip)
  • release_v2.44.0(Apr 7, 2022)

    Features

    • aws-android-sdk-iot: update models to latest (#2853)
    • aws-android-sdk-connect: update models to latest (#2855)
    • aws-android-sdk-iot: update models to latest (#2858)

    Miscellaneous

    • Adding codeowners (#2860)
    • Fix typo in AWSMobileClient (#2841)
    Source code(tar.gz)
    Source code(zip)
  • release_v2.43.0(Mar 24, 2022)

    Features

    • Update SignIn API to accept authFlowType (#2846)
    • aws-android-sdk-connect: update models to latest (#2830)
    • aws-android-sdk-cognitoidentityprovider: update models to latest (#2837)
    • aws-android-sdk-location: update models to latest (#2843)
    • aws-android-sdk-polly: update models to latest (#2844)

    Miscellaneous

    • transcribe Update models to latest (#2848)
    Source code(tar.gz)
    Source code(zip)
  • release_v2.42.0(Mar 11, 2022)

    Features

    • aws-android-sdk-textract: update models to latest (#2809)
    • aws-android-sdk-lambda: update models to latest (#2808)
    • aws-android-sdk-translate: update models to latest (#2805)
    • aws-android-sdk-transcribe: update models to latest (#2825)
    • aws-android-sdk-comprehend: update models to latest (#2823)
    • aws-android-sdk-core: update models to latest (#2819)
    • aws-android-sdk-connect: update models to latest (#2818)

    Miscellaneous

    • Create notify_comments.yml (#2815)
    • Create notify_release.yml (#2814)
    • Update notify_comments.yml (#2821)
    Source code(tar.gz)
    Source code(zip)
  • release_v2.41.1(Feb 24, 2022)

  • release_v2.41.0(Feb 18, 2022)

    Features

    • aws-android-sdk-sns: update models to latest (#2795)

    Miscellaneous

    • Updated the documentation to include optional proguard rules to ignore potential issues with transitive dependencies (#2791)
    • Fix 2634 : Adding the null guard when getTransferNetworkConnectionType is null (#2797)
    • Use 'com.facebook.android:facebook-login:11.2.0' (#2652)
    Source code(tar.gz)
    Source code(zip)
  • release_v2.40.0(Feb 3, 2022)

    Features

    • aws-android-sdk-cognitoidentityprovider: update models to latest (#2782)
    • AWSMobileClient: add deleteUser API (#2785)
    • aws-android-sdk-comprehend: update models to latest (#2787)
    Source code(tar.gz)
    Source code(zip)
  • release_v2.39.0(Jan 28, 2022)

    Features

    • aws-android-sdk-location: update models to latest (#2770)
    • aws-android-sdk-connect: update models to latest (#2772)
    • aws-android-sdk-transcribe: update models to latest (#2774)
    • aws-android-sdk-connect: update models to latest (#2778)

    Miscellaneous

    • Fix pip install error (#2755)
    Source code(tar.gz)
    Source code(zip)
  • release_v2.38.0(Jan 19, 2022)

    Features

    • aws-android-sdk-chimesdkmessaging: update models to latest (#2749)
    • aws-android-sdk-location: update models to latest (#2751)
    • aws-android-sdk-rekognition: update models to latest (#2759)

    Miscellaneous

    • downgrade androidx:browser dependency to 1.3.0 (#2766)
    • Add ASF package (#2756)
    Source code(tar.gz)
    Source code(zip)
  • release_v2.37.1(Jan 3, 2022)

  • release_v2.37.0(Dec 9, 2021)

    Features

    • aws-android-sdk-location: update models to latest (#2739)
    • aws-android-sdk-rekognition: update models to latest (#2736)
    • aws-android-sdk-textract: update models to latest (#2733)
    • aws-android-sdk-lambda: update models to latest (#2731)
    • aws-android-sdk-translate: update models to latest (#2730)
    • aws-android-sdk-core: update models to latest (#2725)
    • aws-android-sdk-connect: update models to latest (#2722)
    • aws-android-sdk-sns: update models to latest (#2714)
    • aws-android-sdk-connectparticipant: update models to latest (#2691)
    • aws-android-sdk-transcribe: update models to latest (#2684)

    Bug Fixes

    • Pinpoint: Add Immutable flag to PendingIntent (#2729)
    Source code(tar.gz)
    Source code(zip)
Android guide + SDK. Check Community repository for common information.

freeRASP for Android freeRASP for Android is a part of security SDK for the app shielding and security monitoring. Learn more about provided features

Talsec 36 Dec 21, 2022
CodingChallenge: A simple SDK. Which can provide you information related to Start Wars APi

CodingChallenge CodingChallenge is a simple SDK. Which can provide you informati

Wajahat Hussain 1 Feb 18, 2022
Sdk-android - SnapOdds Android SDK

Documentation For the full API documentation go to https://snapodds.github.io/sd

Snapodds 0 Jan 30, 2022
Segmenkt - The SegmenKT Kotlin SDK is a Kotlin-first SDK for Segment

SegmenKT Kotlin SDK The SegmenKT Kotlin SDK is a Kotlin-first SDK for Segment. I

UNiDAYS 0 Nov 25, 2022
Frogo SDK - SDK Core for Easy Development

SDK for anything your problem to make easier developing android apps

Frogobox 10 Dec 15, 2022
HubSpot Kotlin SDK 🧺 Implementation of HubSpot API for Java/Kotlin in tiny SDK

HubSpot Kotlin SDK ?? Implementation of HubSpot API for Java/Kotlin in tiny SDK

BOOM 3 Oct 27, 2022
Countly Product Analytics Android SDK

Countly Android SDK We're hiring: Countly is looking for Android SDK developers, full stack devs, devops and growth hackers (remote work). Click this

Countly Team 648 Dec 23, 2022
Android Real Time Chat & Messaging SDK

Android Chat SDK Overview Applozic brings real-time engagement with chat, video, and voice to your web, mobile, and conversational apps. We power emer

Applozic 659 May 14, 2022
Evernote SDK for Android

Evernote SDK for Android version 2.0.0-RC4 Evernote API version 1.25 Overview This SDK wraps the Evernote Cloud API and provides OAuth authentication

Evernote 424 Dec 9, 2022
Air Native Extension (iOS and Android) for the Facebook mobile SDK

Air Native Extension for Facebook (iOS + Android) This is an AIR Native Extension for the Facebook SDK on iOS and Android. It has been developed by Fr

Freshplanet 219 Nov 25, 2022