【问题标题】:Android Studio Signed APK ':app:transformClassesAndResourcesWithProguardForRelease'Android Studio 签名的 APK ':app:transformClassesAndResourcesWithProguardForRelease'
【发布时间】:2016-06-29 22:55:53
【问题描述】:

当我尝试在 Android Studio 中生成签名时,出现以下错误:

错误:任务 ':app:transformClassesAndResourcesWithProguardForRelease' 执行失败。 java.io.IOException: 请先更正上述警告。

已经进行了一些研究并发现例如:

Error:Execution failed for task ':android:transformClassesAndResourcesWithProguardForRelease'

我听从了建议,但没有奏效。所以,我尝试将我的buildToolsVersion 更新为23.0.2。

也没有用。

仅当我将 minifyEnabled 修改为 false 并且我不想这样做时才有效。

你能给我一个曲目吗?

【问题讨论】:

  • 您可能被要求使用 --debug 或其他东西来构建以获取更多信息。这说明了什么?

标签: android android-studio apk


【解决方案1】:

尝试执行干净的构建(构建 > 清洁项目)并再次构建。

如果这不起作用,很可能 Proguard 正在删除您应用中的一些重要类和/或库。查看日志中错误消息上方生成的警告。您需要在 proguard-rules.pro 文件中添加规则以保留必要的类。 Here is an example of the rules required to keep the Butterknife library.

【讨论】:

  • JodaTime 的故障。刚刚有了这个:-dontwarn org.joda.time.** 到我的 proguard-rules.pro 文件,它的工作原理。真的非常感谢科林,请我喝酒 ;-)
【解决方案2】:

我遇到了这个错误,我不知道为什么会发生。

我尝试了很多解决方案都没有成功。

除了将这些行添加到我的 ProGuard 文件 (proguard-rules.pro) 中:

-ignorewarnings

-keep class * {
    public private *;
}

然后清理并重建,然后生成发布apk。

感谢拉胡尔...

【讨论】:

  • 谢谢 - 在围绕 gradle 考虑“版本”兼容性之后,这实际上是我的解决方案。
  • 请注意,该指令将阻止 proguard 删除任何未使用的类,这可能会大大增加您的应用程序的大小。您可能需要考虑使用更有针对性的指令(例如,仅保留导致原始错误的包)。
【解决方案3】:

在 proguard-rules.pro 中添加这一行

-keepattributes EnclosingMethod

【讨论】:

    【解决方案4】:

    更新你的 Gradle 插件,它就会工作。

    【讨论】:

      猜你喜欢
      • 2016-09-24
      • 2013-12-14
      • 2016-04-05
      • 1970-01-01
      • 2015-08-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多