2017-10-06 7 views
1

私はAmazonのApp StoreにFireTVビルドをアップロードしましたが、Amazonはビルドを拒否しました。私はアマゾンライブラリを使用していません。私はアマゾン担当者は、私は私のアプリでADM(アマゾン・デバイス・メッセージング)を使用していますが、私がいないと言うと、私のマニフェストは、そのことについてはADM(あるいはGCMのための権限を持っていないアマゾンjava.lang.NoClassDefFoundError:Lcom/amazon/android/Kiwiの解決に失敗しました。

java.lang.NoClassDefFoundError: Failed resolution of: Lcom/amazon/android/Kiwi; 
10-05 02:28:09.323: E/AndroidRuntime(29717): at com.tv.LeanbackActivity.onCreate(LeanbackActivity.java) 
10-05 02:28:09.323: E/AndroidRuntime(29717): at android.app.Activity.performCreate(Activity.java:6010) 
10-05 02:28:09.323: E/AndroidRuntime(29717): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1122) 
10-05 02:28:09.323: E/AndroidRuntime(29717): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2320) 
10-05 02:28:09.323: E/AndroidRuntime(29717): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2435) 
10-05 02:28:09.323: E/AndroidRuntime(29717): at android.app.ActivityThread.access$800(ActivityThread.java:160) 
10-05 02:28:09.323: E/AndroidRuntime(29717): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1321) 
10-05 02:28:09.323: E/AndroidRuntime(29717): at android.os.Handler.dispatchMessage(Handler.java:102) 
10-05 02:28:09.323: E/AndroidRuntime(29717): at android.os.Looper.loop(Looper.java:135) 
10-05 02:28:09.323: E/AndroidRuntime(29717): at android.app.ActivityThread.main(ActivityThread.java:5483) 
10-05 02:28:09.323: E/AndroidRuntime(29717): at java.lang.reflect.Method.invoke(Native Method) 
10-05 02:28:09.323: E/AndroidRuntime(29717): at java.lang.reflect.Method.invoke(Method.java:372) 
10-05 02:28:09.323: E/AndroidRuntime(29717): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:984) 
10-05 02:28:09.323: E/AndroidRuntime(29717): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:779) 
10-05 02:28:09.323: E/AndroidRuntime(29717): Caused by: java.lang.ClassNotFoundException: Didn't find class "com.amazon.android.Kiwi" on path: DexPathList[[zip file "/data/app/air.com.snagfilms-1/base.apk", zip file "/system/priv-app/DeviceMessagingAndroidSDK/DeviceMessagingAndroidSDK.apk", zip file "/system/priv-app/MetricsApi/MetricsApi.apk", zip file "/system/priv-app/com.amazon.dp.logger/com.amazon.dp.logger.apk"],nativeLibraryDirectories=[/data/app/air.com.snagfilms-1/lib/arm, /vendor/lib, /system/lib]] 
10-05 02:28:09.323: E/AndroidRuntime(29717): at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56) 
10-05 02:28:09.323: E/AndroidRuntime(29717): at java.lang.ClassLoader.loadClass(ClassLoader.java:511) 
10-05 02:28:09.323: E/AndroidRuntime(29717): at java.lang.ClassLoader.loadClass(ClassLoader.java:469) 
10-05 02:28:09.323: E/AndroidRuntime(29717): ... 14 more 
10-05 02:28:09.323: E/AndroidRuntime(29717): Suppressed: java.lang.ClassNotFoundException: com.amazon.android.Kiwi 
10-05 02:28:09.323: E/AndroidRuntime(29717):  at java.lang.Class.classForName(Native Method) 
10-05 02:28:09.323: E/AndroidRuntime(29717):  at java.lang.BootClassLoader.findClass(ClassLoader.java:781) 
10-05 02:28:09.323: E/AndroidRuntime(29717):  at java.lang.BootClassLoader.loadClass(ClassLoader.java:841) 
10-05 02:28:09.323: E/AndroidRuntime(29717):  at java.lang.ClassLoader.loadClass(ClassLoader.java:504) 
10-05 02:28:09.323: E/AndroidRuntime(29717):  ... 15 more 
10-05 02:28:09.323: E/AndroidRuntime(29717): Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available 

からもらったログ)。

答えて

1

このエラーは、multidexを有効にしている場合に発生します。このエラーを解決するには、いくつか変更する必要があります。

1)Appルートフォルダにファイル名multidex.keepを作成します。

2)com/amazon/android/Kiwi.classをそのファイルに書き込みます。

3)アプリのbuild.gradleファイルを開き、以下のコードをandroidタグに書き込みます。

dexOptions { 
    incremental true 
    javaMaxHeapSize "4g" 
    preDexLibraries = false 
    additionalParameters = ["--set-max-idx-number=55000"] // default 60000 
} 

4)オープンアプリbuild.gradleファイルとアンドロイドタグ内ウル入力用

afterEvaluate { 
if (!android.applicationVariants.matching { it.flavorName == 'mobile' }.isEmpty()) { 
    tasks.matching { 
     it.name.startsWith('dex') 
    }.each { dx -> 
     if (dx.additionalParameters == null) { 
      dx.additionalParameters = [] 
     } 
     dx.additionalParameters += '--multi-dex' // enable multidex 
     dx.additionalParameters += "--main-dex-list=$projectDir/multidex.keep".toString() 
    } 
} 

}

+0

感謝を書き込みます。私はそれを確認し、私がそれについての私の観察について知らせます。 –

関連する問題