【问题标题】:ProGuard Configuration Parse Error, after enabling "minifyEnabled"ProGuard 配置解析错误,启用“minifyEnabled”后
【发布时间】:2018-08-02 02:55:32
【问题描述】:

我的 Android 项目运行良好,但是当我启用此选项时 minifyEnabled true 出现以下错误:

com.android.build.gradle.shrinker.parser.ProguardParserException: ProGuard configuration parser error:
    /Users/mss/.gradle/caches/transforms-1/files-1.1/play-services-base-11.8.0.aar/a9e603bf098b2c6866a5bdd73147cdc0/proguard.txt line 3:88 no viable alternative at input '<fields>'

这是我每次尝试使用 minifyEnabled true 运行我的应用程序时收到的错误。有什么办法可以解决这个问题。

我在项目中使用的依赖项如下:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support:design:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'com.android.support:support-v4:26.1.0'
    implementation 'com.android.support:recyclerview-v7:26.1.0'
    implementation 'com.android.support:cardview-v7:26.1.0'
    implementation 'com.google.android.gms:play-services-auth:11.8.0'

    // Circle Image View
    implementation 'de.hdodenhof:circleimageview:2.2.0'

    // Firebase Dependencies
    implementation 'com.google.firebase:firebase-auth:11.8.0'
    implementation 'com.google.firebase:firebase-messaging:11.8.0'
    implementation 'com.google.firebase:firebase-crash:11.8.0'

    // Firebase UI Dependencies
    implementation 'com.firebaseui:firebase-ui-auth:3.1.0'

    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}

另外,app级build.gradle文件的配置如下:

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

    debug {
        debuggable true
     // minifyEnabled true
     // shrinkResources true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
    }
}

我评论了两行 minifyEnabled trueshrinkResources true,因为这两行造成了问题。

【问题讨论】:

  • 谢谢你,其实我以前试过这个,但我错过了一个声明。无论如何,现在它工作了,但是当我尝试重建项目时,出现以下错误:任务':app:transformClassesAndResourcesWithProguardForDebug'的执行失败。

标签: android android-gradle-plugin build.gradle proguard android-debug


【解决方案1】:

您必须为添加的每个库添加自定义 proguard 规则。

对于 Firebase 规则,请看这里; link

大多数库都会列出它们使用的 progurad 规则,查看库详细信息就会找到它们。

此外,查看 FirebaseUI-Android 应用程序保护文件here

【讨论】:

    【解决方案2】:

    proguard 问题。 对所有库使用保持类

    【讨论】:

    • 感谢您的回答。你能告诉我我该怎么做吗?我对proguard知之甚少。
    猜你喜欢
    • 2014-10-22
    • 2018-11-24
    • 1970-01-01
    • 1970-01-01
    • 2015-05-09
    • 2013-06-07
    • 2017-10-16
    • 2013-07-24
    • 1970-01-01
    相关资源
    最近更新 更多