После того, как я применил 1.1.0 adm к нашему приложению, некоторые устройства создают sh с исключением "java .lang.IncompatibleClassChangeError"
. Я не могу воспроизвести эту ошибку на некоторых устройствах Fire,
но в отчете cra sh говорится так.
Я применил настройку gradle из руководства. так что adm jar не был включен в apk, я так думаю.
compileOnly files('libs/amazon-device-messaging-1.1.0.jar')
не все устройства, но в особенности Fire 7 2019, Fire hd 8 2018 являются основными сбойными устройствами.
Вот деталь cra sh log
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)