Не удалось построить Android-Gradle с Crashlytics 2.6.7 и io.branch.sdk.android.library:2+ при включенном proguard?
Мои настройки Gradle:
compile('com.crashlytics.sdk.android:crashlytics:2.6.7@aar') {
transitive = true;
}
compile('io.branch.sdk.android:library:2.+') {
transitive = true;
}
с вышеупомянутым crashlytics & branch.io попробуйте собрать gradle с включенным proguard. Я получаю ниже ошибки.
Warning:Exception while processing task java.io.IOException: Can't write [/Users/Documents/test/andriod-test/app/build/intermediates/transforms/proguard/production/release/jars/3/1f/main.jar] (Can't read [/Users/Documents/test/andriod-test/app/build/intermediates/classes/production/release(;;;;;;**.class)] (Can't read [com] (Can't read [crashlytics] (Can't read [android] (Can't read [answers] (Can't read [shim] (Can't read [R.class] (Duplicate zip entry [com/crashlytics/android/answers/shim/R.class]))))))))
Error:java.lang.RuntimeException: Job failed, see logs for details
Error:java.io.IOException: Can't write [/Users/Documents/test/andriod-test/app/build/intermediates/transforms/proguard/production/release/jars/3/1f/main.jar] (Can't read [/Users/Documents/test/andriod-test/app/build/intermediates/classes/production/release(;;;;;;**.class)] (Can't read [com] (Can't read [crashlytics] (Can't read [android] (Can't read [answers] (Can't read [shim] (Can't read [R.class] (Duplicate zip entry [com/crashlytics/android/answers/shim/R.class]))))))))
Error:java.io.IOException: Can't read [/Users/Documents/test/andriod-test/app/build/intermediates/classes/production/release(;;;;;;**.class)] (Can't read [com] (Can't read [crashlytics] (Can't read [android] (Can't read [answers] (Can't read [shim] (Can't read [R.class] (Duplicate zip entry [com/crashlytics/android/answers/shim/R.class])))))))
Error:java.io.IOException: Can't read [com] (Can't read [crashlytics] (Can't read [android] (Can't read [answers] (Can't read [shim] (Can't read [R.class] (Duplicate zip entry [com/crashlytics/android/answers/shim/R.class]))))))
Error:java.io.IOException: Can't read [crashlytics] (Can't read [android] (Can't read [answers] (Can't read [shim] (Can't read [R.class] (Duplicate zip entry [com/crashlytics/android/answers/shim/R.class])))))
Error:java.io.IOException: Can't read [android] (Can't read [answers] (Can't read [shim] (Can't read [R.class] (Duplicate zip entry [com/crashlytics/android/answers/shim/R.class]))))
Error:java.io.IOException: Can't read [answers] (Can't read [shim] (Can't read [R.class] (Duplicate zip entry [com/crashlytics/android/answers/shim/R.class])))
Error:java.io.IOException: Can't read [shim] (Can't read [R.class] (Duplicate zip entry [com/crashlytics/android/answers/shim/R.class]))
Error:java.io.IOException: Can't read [R.class] (Duplicate zip entry [com/crashlytics/android/answers/shim/R.class])
Error:java.io.IOException: Duplicate zip entry [com/crashlytics/android/answers/shim/R.class]
1 ответ
Так как сообщение об ошибке указывает на то, что некоторые классы "answers-shim" дублируются, один из них - из crashlytics, а другой - из самого io.branch, то, что я сделал, исключил модуль io.branch "answers-shim" путем редактирования файл Gradle ниже.
compile('io.branch.sdk.android:library:2.+') {
transitive = true;
exclude module: 'answers-shim'
}
Исключите модуль answer-shim в настройках градаля io.branch.sdk.library, как показано выше.
После этого в вашем файле proguard добавьте строку ниже, чтобы игнорировать предупреждения:
-dontwarn com.crashlytics.android.answers.shim.**