安装Amazon Device Messaging
若要在您的应用中使用Amazon Device Messaging(ADM),首先您需要在开发环境中添加ADM JAR。您可以使用Android Studio或命令行执行此操作。
先决条件
如果您尚未准备就绪,请参阅Amazon Device Messaging概览了解ADM架构。获取凭证介绍了获取用于ADM的初始凭证的过程。
要在项目中使用ADM,请在开发计算机上安装以下内容:
- Android SDK(API 15或更高版本)
 - 任何Android SDK系统要求,包括JDK
 
(安装Android Studio时,这些资源已包含在内。)
将ADM添加到Android Studio
要对基于IDE的项目使用ADM,请将ADM库作为外部JAR添加到该项目中。虽然您可以在任何开发环境中使用ADM,但本节介绍了如何将ADM添加到Android Studio。要将ADM添加到Android Studio:
- 下载Amazon Device Messaging(ADM)SDK,并将zip文件解压到方便的位置。
 - 确保您已下载并安装Android Studio的最新版本。
 - 在Android Studio中,创建一个新的Android项目,或打开一个现有项目。
 - 
    
将文件夹结构从Android更改为Project(项目)。

 - 
    
在app文件夹内搜索libs文件夹。

 - 从ADM zip文件的解压位置复制amazon-device-messaging-1.1.0.jar文件。
 - 
    
将该JAR粘贴到libs文件夹。

 - 
    
右击该JAR文件,最后单击Add as library(添加为库)。

这会自动将
implementation files('libs/amazon-device-messaging-1.1.0.jar')命令添加到build.gradle文件中。 - 
    
最后,由于您只需在编译时而不是运行时使用库,因此将以下声明从
implementation更改为compileOnly。将以下代码:dependencies { implementation files('libs/amazon-device-messaging-1.1.0.jar') }更改为:
dependencies { compileOnly files('libs/amazon-device-messaging-1.1.0.jar') }警告: 跳过此步骤会导致运行时错误。 
从命令行添加ADM
在执行此过程之前,请更新AndroidManifest.xml文件,如集成您的应用中所述。此外,请确保已安装Apache ANT,并且已正确定义ANT_HOME、JAVA_HOME和PATH环境变量。
- 将目录更改为Android SDK的tools/路径。
 - 
    
使用以下语法运行一个命令,其中
<path>是将创建项目的位置,<target Android platform>是项目要加入的Android平台。要获取可用平台的列表,请运行android list targets。android create project --path <path> --target <target Android platform> --activity ADMActivity --package com.example.amazon.adm - 在新项目的根目录处,创建一个名为ext_libs的新目录。
 - 导航到Android/DeviceMessaging/lib目录,然后在Amazon Mobile App SDK中,将JAR文件复制到新的ext_libs目录中。
 - 
    
在新项目的根目录处,创建一个包含以下内容的custom_rules.xml文件:
<?xml version="1.0" encoding="UTF-8"?> <project name="custom_rules"> <path id="java.compiler.classpath.path"> <fileset dir="ext_libs" includes="*.jar"/> </path> <property name="java.compiler.classpath" refid="java.compiler.classpath.path" /> </project> - 
    
要生成项目,请从项目的根目录运行以下命令:
ant debug 
确保您采用类似的步骤来配置测试应用的项目。
配置Proguard
如果您使用Proguard,请编辑proguard-rules.pro文件并添加以下配置:
#这应指向存储ADM JAR的目录
-libraryjars libs
-dontwarn com.amazon.device.messaging.**
-keep class com.amazon.device.messaging.** {*;}
-keep public class * extends com.amazon.device.messaging.ADMMessageReceiver
-keep public class * extends com.amazon.device.messaging.ADMMessageHandlerBase
-keep public class * extends com.amazon.device.messaging.ADMMessageHandlerJobBase

