【问题标题】:gradle generate error when minifying the codegradle在缩小代码时产生错误
【发布时间】:2016-07-05 12:38:29
【问题描述】:

当我尝试将 minifyEnabled 设置为 true 并尝试同步 gradle 文件时,我收到以下错误:

Error:Cause: com/android/build/gradle/tasks/AndroidProGuardTask

为什么我会收到此错误以及如何解决,我无法在 Android Studio 中启用 proGaurd。

build.gradle

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

【问题讨论】:

  • 只有一行错误还是其他什么?
  • @VivekMishra 仅发布错误
  • 您需要根据您使用的库更改 progaurd-rules.pro。
  • @NongthonbamTonthoi 我该怎么做
  • 在 progaurd-rules.pro 文件中你需要根据库使用 -keep 或 -downturn 等规则,你可以搜索一下。

标签: android gradle android-gradle-plugin proguard android-proguard


【解决方案1】:

您是否在项目中使用任何外部库文件?如果是,则需要在 proguard-rules.pro 文件中添加 -keep。 我在文件中添加了以下代码:

-keep public class org.jsoup.** {
    public *;
}

我的 proguard-rules.profile 可以在 here 找到。 您还可以通过在 proguard-rules.pro 文件中将 minifyEnabled 禁用为 false 来确保错误是由于这个原因造成的。

【讨论】:

  • 我修改了proguard-rules.pro中的代码并添加了以下行:-keep public class com.example.com.ecoassistant_04.Jama-1.0.3.jar { public *;其中 Jama-1.0.3.jar 是我正在使用的库..但我仍然得到同样的错误
【解决方案2】:

将此添加到您的 proguard

 -dontwarn package name of you library.**

在你的情况下使用 Jama 的包名

例如

-dontwarn org.slf4j.**
-dontwarn org.apache.log4j.**
-dontwarn org.apache.commons.logging.**

如果您可以粘贴更多错误或堆栈跟踪,我将尝试提供更多帮助

【讨论】:

    猜你喜欢
    • 2011-10-12
    • 1970-01-01
    • 1970-01-01
    • 2016-01-23
    • 2018-02-21
    • 2012-02-10
    • 1970-01-01
    • 1970-01-01
    • 2023-02-07
    相关资源
    最近更新 更多