Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

build failing on play-services:11.8.x with pro guard parser error

So it looks like there is a bug in the latest play-services to be deployed. Does anyone know how to work around this issue?

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

So more information. seems the problem is in the core module:

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: The contents of the file that is causing that error is:

# 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>; } 
like image 482
Brill Pappin Avatar asked Dec 19 '17 18:12

Brill Pappin


2 Answers

It seems the default shrinker has changed. Adding the configuration to turn on ProGuard seemed to work.

buildTypes {         release {             debuggable false             minifyEnabled true             useProguard true             ...         }         debug {             debuggable true             minifyEnabled true             useProguard true             ...         }     } 
like image 62
Brill Pappin Avatar answered Sep 18 '22 18:09

Brill Pappin


In addition to the above solution (which works): the issue seems related to Instant Run as well. If you disable Instant Run, you can build your app without changing your build.gradle. Probably, the default shrinker has changed only when building for Instant Run.

like image 36
Carlo Conserva Avatar answered Sep 19 '22 18:09

Carlo Conserva