Android Build使用Proguard和Gradle失败

我最近将项目从eclipse / ant转换为使用Android Studio / Gradle.我的调试版本运行正常,但是当我尝试使用proguard启用发布版本时,它会失败并出现以下错误

16:26:13.437 [ERROR] [system.err] Unexpected error while computing stack sizes:
16:26:13.438 [ERROR] [system.err]   Class       = [com/a/a/a/d/d]
16:26:13.438 [ERROR] [system.err]   Method      = [<clinit>()V]
16:26:13.438 [ERROR] [system.err]   Exception   = [java.lang.IllegalArgumentException] (Stack size becomes negative after instruction [143] swap in [com/a/a/a/d/d.<clinit>()V])

我已经为我的eclipse项目使用了相同的proguard.txt,它工作正常,因此它表明Gradle Android插件存在某种问题.有谁遇到过类似的问题?我的proguard配置 – http://pastebin.com/2gsNUmeD和完全gradle输出http://pastebin.com/TAvMUSrR

解决方法:

ProGuard确实应该在Ant,Eclipse和Gradle中表现相同.您应该检查您的构建版本是否使用不同版本的ProGuard.您可以在控制台日志中看到该版本.如果您知道正在使用哪个ProGuard jar,您也可以输入java -jar proguard.jar来获取该版本.

错误消息表明ProGuard优化步骤中存在错误.希望错误发生在旧版本中,而不是在较新版本中.然后你可以简单地升级jar.否则,您可以在ProGuard’s bug tracker上报告,最好有足够的信息来重现问题.作为解决方法,您可以使用-dontoptimize选项禁用优化.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...