studio services plugin play google gms compile auth android google-play-services android-proguard

plugin - compile com google android gms play services maps 11.0 4



fallas de compilaciĆ³n en los servicios de juego: 11.8.x con error del analizador pro guard (4)

Además de la solución anterior (que funciona): el problema parece estar relacionado con la ejecución instantánea también. Si desactiva la Ejecución instantánea, puede construir su aplicación sin cambiar su build.gradle. Probablemente, el shrinker predeterminado solo ha cambiado al crear Instant Run.

Parece que hay un error en los últimos servicios de juego que se desplegarán. ¿Alguien sabe cómo solucionar este problema?

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>''

Entonces más información. parece que el problema está en el módulo principal:

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>''

EDITAR: El contenido del archivo que está causando ese error es:

# 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>; }


Esta solución me ayudó:

Primero, en la aplicación / build.gradle cambie use Proguard a ''true''

Segundo, en las reglas de proguard agregar la línea ''-dontobfuscate''

buildTypes { release { debuggable false minifyEnabled true useProguard true proguardFiles getDefaultProguardFile(''proguard-android.txt''), ''proguard-rules.pro'' ... } debug { debuggable true minifyEnabled true useProguard true proguardFiles getDefaultProguardFile(''proguard-android.txt''), ''proguard-rules.pro'' ... } }

proguard-rules.pro

-dontobfuscate

Entonces, minify sería trabajo, pero el código no se ofuscaría.


Me doy cuenta de que si deshabilita la Ejecución instantánea, la compilación sigue fallando con el mismo error (si tiene minify habilitado pero Proguard está deshabilitado para reducir el tamaño del código para evitar multidex en la compilación de depuración). Si sigue la respuesta de Brill Pappin , debe habilitar la Ejecución instantánea (e instalar las bibliotecas cuando se le solicite) para acceder a los puntos de interrupción durante la depuración.
Parece que habilitar al reductor como se describe en los documentos de Google ahora solo funciona si está utilizando Instant Run con los Servicios de Google Play Play.


Parece que el shrinker predeterminado ha cambiado. Agregar la configuración para encender ProGuard pareció funcionar.

buildTypes { release { debuggable false minifyEnabled true useProguard true ... } debug { debuggable true minifyEnabled true useProguard true ... } }