我正在尝试 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/