在播放服务上构建失败:11.8.x与专业防护解析器错误

Bri*_*pin 46 android google-play-services android-proguard

所以看起来最新的播放服务中存在一个错误.有谁知道如何解决这个问题?

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>'
Run Code Online (Sandbox Code Playgroud)

更多信息.似乎问题出在核心模块中:

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>'
Run Code Online (Sandbox Code Playgroud)

编辑:导致该错误的文件的内容是:

# 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>;
}
Run Code Online (Sandbox Code Playgroud)

Bri*_*pin 74

似乎默认的收缩器已经改变了.添加配置以启用ProGuard似乎可行.

buildTypes {
        release {
            debuggable false
            minifyEnabled true
            useProguard true
            ...
        }
        debug {
            debuggable true
            minifyEnabled true
            useProguard true
            ...
        }
    }
Run Code Online (Sandbox Code Playgroud)

  • @BrillPappin我觉得有必要飞到加拿大给你买啤酒......这个问题困扰了我一个月.谢谢! (3认同)

Car*_*rva 11

除了上述解决方案(有效)之外:该问题似乎也与Instant Run有关.如果禁用"即时运行",则可以在不更改build.gradle的情况下构建应用程序.可能只有在为Instant Run构建时,默认收缩器才会更改.