Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sdk Amazon设备通讯(ADM)1.1.0不兼容ClassChangeError异常_Sdk_Amazon_Kindle Fire_Kindle - Fatal编程技术网

Sdk Amazon设备通讯(ADM)1.1.0不兼容ClassChangeError异常

Sdk Amazon设备通讯(ADM)1.1.0不兼容ClassChangeError异常,sdk,amazon,kindle-fire,kindle,Sdk,Amazon,Kindle Fire,Kindle,在我将1.1.0 adm应用于我们的应用程序后,一些设备因异常“java.lang.CompatibleClassChangeError”而崩溃 我无法在一些消防设备上重现这个错误 但坠机报告是这样说的 我应用了手册中的渐变设置。 所以adm jar没有包含在apk中,我想是的 compileOnly files('libs/amazon-device-messaging-1.1.0.jar') 不是所有的设备,但特别是2019年的Fire 7、2018年的Fire hd 8是主要的崩溃设备

在我将1.1.0 adm应用于我们的应用程序后,一些设备因异常“java.lang.CompatibleClassChangeError”而崩溃

我无法在一些消防设备上重现这个错误

但坠机报告是这样说的

我应用了手册中的渐变设置。 所以adm jar没有包含在apk中,我想是的

compileOnly files('libs/amazon-device-messaging-1.1.0.jar')
不是所有的设备,但特别是2019年的Fire 7、2018年的Fire hd 8是主要的崩溃设备

这是详细的崩溃日志

Fatal Exception: java.lang.IncompatibleClassChangeError: Structural change of com.amazon.device.messaging.ADMMessageReceiver is hazardous (/data/app/com.xxxx-1/oat/arm/base.odex at compile time, /system/priv-app/DeviceMessagingAndroidSDK/oat/arm/DeviceMessagingAndroidSDK.odex at runtime): Instance field count off: 0 vs 3

Lcom/amazon/device/messaging/ADMMessageReceiver; (Compile time):

Static fields:

Instance fields:

Direct methods:

<init>()V

<init>(Ljava/lang/Class;)V

<init>(Ljava/lang/Class;I)V

Virtual methods:

onReceive(Landroid/content/Context;Landroid/content/Intent;)V

registerIntentServiceClass(Ljava/lang/Class;)V

registerJobServiceClass(Ljava/lang/Class;I)V

Lcom/amazon/device/messaging/ADMMessageReceiver; (Runtime):

Static fields:

Instance fields:

I mJobId

Z mServiceClassIsJob

Ljava/lang/String; mServiceClassName

Direct methods:

<init>()V

<init>(Ljava/lang/Class;)V

<init>(Ljava/lang/Class;I)V

Virtual methods:

onReceive(Landroid/content/Context;Landroid/content/Intent;)V

registerIntentServiceClass(Ljava/lang/Class;)V

registerJobServiceClass(Ljava/lang/Class;I)V

(declaration of 'com.xxxx.adm.ADMReceiver' appears in /data/app/com.xxxx-1/base.apk)


致命异常:java.lang.CompatibleClassChangeError:com.amazon.device.messaging.ADMMessageReceiver的结构更改是危险的(/data/app/com.xxxx-1/oat/arm/base.odex在编译时,/system/priv-app/devicemessageandroiddk/oat/arm/devicemessageandroiddk.odex在运行时):实例字段计数:0对3
Lcom/amazon/device/messaging/ADMMessageReceiver;(编译时):
静态字段:
实例字段:
直接方法:
()V
(Ljava/lang/Class;)V
(Ljava/lang/Class;I)V
虚拟方法:
onReceive(Landroid/content/Context;Landroid/content/Intent;)V
registerIntentServiceClass(Ljava/lang/Class;)V
registerJobServiceClass(Ljava/lang/Class;I)V
Lcom/amazon/device/messaging/ADMMessageReceiver;(运行时):
静态字段:
实例字段:
我是乔比德
Z mServiceClassIsJob
Ljava/lang/String;mServiceClassName
直接方法:
()V
(Ljava/lang/Class;)V
(Ljava/lang/Class;I)V
虚拟方法:
onReceive(Landroid/content/Context;Landroid/content/Intent;)V
registerIntentServiceClass(Ljava/lang/Class;)V
registerJobServiceClass(Ljava/lang/Class;I)V
(声明'com.xxxx.adm.ADMReceiver'出现在/data/app/com.xxxx-1/base.apk中)

我们已经解决了这个问题

这是因为build.gradle中缺少配置

compile fileTree(include: ['*.jar'], dir: 'libs')
...
compileOnly files('libs/amazon-device-messaging-1.1.0.jar')
我们对ADM使用了相同的libs目录, 因此,短梗罐子包含在游戏apk中

配置
编译文件树(包括:['*.jar'],dir:'libs')
导致了该问题


我们将adm jar的目录从
libs
更改为
libs2
,这就解决了问题。

我们已经解决了问题

这是因为build.gradle中缺少配置

compile fileTree(include: ['*.jar'], dir: 'libs')
...
compileOnly files('libs/amazon-device-messaging-1.1.0.jar')
我们对ADM使用了相同的libs目录, 因此,短梗罐子包含在游戏apk中

配置
编译文件树(包括:['*.jar'],dir:'libs')
导致了该问题

我们将adm jar的目录从
libs
更改为
libs2
,这就解决了问题