java - NoClassDefFoundError Amazon ADM 在 kindle 上的集成

标签 java android kindle amazon-device-messaging

我正在尝试 Amazon Device Messaging API

我按照亚马逊的建议使用导入添加了 jar 文件。当我部署到设备上时,出现错误,

06-03 16:24:13.680: E/AndroidRuntime(11038): java.lang.NoClassDefFoundError: com.amazon.device.messaging.ADM
06-03 16:24:13.680: E/AndroidRuntime(11038):    at com.myapp.MainActivity.onCreate(MainActivity.java:74)
06-03 16:24:13.680: E/AndroidRuntime(11038):    at android.app.Activity.performCreate(Activity.java:4635)
06-03 16:24:13.680: E/AndroidRuntime(11038):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049)
06-03 16:24:13.680: E/AndroidRuntime(11038):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2031)
06-03 16:24:13.680: E/AndroidRuntime(11038):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2092)
06-03 16:24:13.680: E/AndroidRuntime(11038):    at android.app.ActivityThread.access$600(ActivityThread.java:126)
06-03 16:24:13.680: E/AndroidRuntime(11038):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1172)
06-03 16:24:13.680: E/AndroidRuntime(11038):    at android.os.Handler.dispatchMessage(Handler.java:99)
06-03 16:24:13.680: E/AndroidRuntime(11038):    at android.os.Looper.loop(Looper.java:137)
06-03 16:24:13.680: E/AndroidRuntime(11038):    at android.app.ActivityThread.main(ActivityThread.java:4586)
06-03 16:24:13.680: E/AndroidRuntime(11038):    at java.lang.reflect.Method.invokeNative(Native Method)
06-03 16:24:13.680: E/AndroidRuntime(11038):    at java.lang.reflect.Method.invoke(Method.java:511)
06-03 16:24:13.680: E/AndroidRuntime(11038):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
06-03 16:24:13.680: E/AndroidRuntime(11038):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
06-03 16:24:13.680: E/AndroidRuntime(11038):    at dalvik.system.NativeStart.main(Native Method)

我无法将 jar 文件添加到订单和导出中,因为它会导致 stub 错误并且亚马逊不推荐。

他们说当安装应用程序时,它应该从设备中选择 API,而不是在应用程序中搜索导致此问题的类文件。

我尝试从 eclipse IDE 构建,也尝试使用 ANT 手动构建。

最佳答案

请检查您的 manifeat 文件,您可能已将以下代码放在 application 标签之外

  <amazon:enable-feature
        android:name="com.amazon.device.messaging"
        android:required="true" />

此行必须在 application 标签内。

如果您使用的是 Android Studio,则应牢记这一点

由此改变:

dependencies {
    compile files('libs/amazon-device-messaging-1.0.1.jar')
}

为此:

dependencies {
    provided files('libs/amazon-device-messaging-1.0.1.jar')
}

谢谢!

关于java - NoClassDefFoundError Amazon ADM 在 kindle 上的集成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16907462/

相关文章:

android - 在android中解压文件

android - 向自定义 ArrayAdapter 添加更多项目

protocols - kindle 用什么协议(protocol)给家里打电话?

Fragment 中 setOnClickListener 上的 java.lang.NullPointerException

android - 如何使用 Intent 进行 Amazon App Store 搜索并按开发者名称进行过滤?

root - 尝试root我的kindle fire hd但没有 "Enable ADB "按钮

java - eclipse插件启动后立即调用方法

java - weblogic中的一致性服务器

java - 正则表达式删除引用文本内的空格

java - 当调用 System.gc() 或 finalize() 方法时,内部(JVM)发生了什么?