Сбой выпуска сборки Android, вызванный: java.lang.Исключение ArrayIndexOutOfBoundsException: 213 (проблема с proguard)

#android #android-studio #android-gradle-plugin #build.gradle

#Android #android-studio #android-gradle-plugin #build.gradle

Вопрос:

Мой проект собран нормально с отладочным вариантом сборки, но с вариантом выпуска Android Studio выдает:

Вызвано: java.lang.Исключение ArrayIndexOutOfBoundsException: 213

введите описание изображения здесь

введите описание изображения здесь

В чем может быть проблема?

Если я установил minifyEnabled false в build gradle для release вариант сборки, то он собирается нормально, но это не очень хорошо

Обновить

Я пытался добавить в proguard-rules.pro -keepnames class com.google.android.gms.** {*;}

И он создается, но мне не нравится это решение, я не хочу все это сохранять com.google.android.gms

Есть хорошее решение?

p.s. Я использую classpath 'com.google.gms:google-services:4.2.0' его корневую сборку.gradle в качестве зависимости

Обновление 2

Теперь он начал выдавать Execution failed for task ':app:transformClassesWithDexBuilderForRelease'.

Конечно, используется библиотека Multi Dex (я ориентируюсь на Android API 14 )

Ответ №1:

Я решил это, обновив Android Studio 3.4 RC 2, который по умолчанию использует R8 вместо Proguard

Теперь вариант сборки с minifyEnabled true работает нормально

Кажется, R8 также можно использовать со стабильной версией 3.3, но для этого требуется некоторая настройка: https://android-developers.googleblog.com/2018/11/r8-new-code-shrinker-from-google-is.html