Сбои сборки в игровых сервисах: 11.8.x с ошибкой парсер-анализатора
Итак, похоже, что в последних игровых сервисах есть ошибка.
Кто-нибудь знает, как обойти эту проблему?
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':myappname:transformClassesWithAndroidGradleClassShrinkerForDevelopmentDebug'.
> ProGuard configuration parser error: /Users/myusername/.gradle/caches/transforms-1/files-1.1/play-services-base-11.8.0.aar/d2ad9e16677fda9cf07a1280a66e91ca/proguard.txt line 3:88 no viable alternative at input '<fields>'
Значит, больше информации. проблема в основном модуле:
Error:Execution failed for task ':myappname:transformClassesWithAndroidGradleClassShrinkerForDevelopmentDebug'.
> ProGuard configuration parser error: /Users/myusername/.gradle/caches/transforms-1/files-1.1/play-services-base-11.8.0.aar/d2ad9e16677fda9cf07a1280a66e91ca/proguard.txt line 3:88 no viable alternative at input '<fields>'
EDIT:
Содержимое файла, вызывающего эту ошибку:
# b/35135904 Ensure that proguard will not strip the mResultGuardian.
-keepclassmembers class com.google.android.gms.common.api.internal.BasePendingResult {
com.google.android.gms.common.api.internal.BasePendingResult.ReleasableResultGuardian <fields>;
}
Ответы
Ответ 1
Кажется, что усадка по умолчанию изменилась. Добавление конфигурации для включения ProGuard, похоже, сработало.
buildTypes {
release {
debuggable false
minifyEnabled true
useProguard true
...
}
debug {
debuggable true
minifyEnabled true
useProguard true
...
}
}
Ответ 2
В дополнение к вышеупомянутому решению (которое работает): проблема также связана с Instant Run.
Если вы отключите Instant Run, вы можете создать свое приложение, не изменяя свой build.gradle.
Вероятно, усадка по умолчанию изменилась только при создании для Instant Run.
Ответ 3
Я замечаю, что если вы отключите Мгновенный запуск сборки, все еще не удается с той же ошибкой (если вы включили minify, но Proguard отключен, чтобы сжать код, чтобы избежать многоэкземпляра в сборке отладки). Если вы следуете Brill Pappin, ответьте, вы должны включить Instant Run (и установить библиотеки по запросу), чтобы ударить любые точки останова во время отладки.
Кажется, что усадка, описанная в Документы Google, теперь работает только, если вы используете Instant Run с сервисами Play Play.