我正在使用gradle 1.8和Android Gradle插件0.6.3构建Android应用程序。
android {
...
buildTypes {
...
release {
runProguard true
proguardFile 'proguard.cfg'
proguardFile getDefaultProguardFile('proguard-android.txt')
}
...
}
每次运行gradle assembleRelease
时,proguard步骤似乎每次都会运行 - 以前的assemble
的结果似乎没有被重用,尽管没有代码更改 。对于后续运行,编译步骤也会显示UP-TO-DATE
,这似乎证实了这一点。运行proguard为每个构建添加了大量时间。特别是,运行connectedInstrumentTest
目前需要每次运行proguard。
使用proguard / gradle时这是正常的行为吗?如果没有,有什么东西可能导致每次运行proguard步骤?
注意:实际上我不可能在没有proguard收缩的情况下构建我的应用程序,dex步骤失败并出现以下错误:
trouble writing output: Too many method references: 67195; max is 65536.
答案 0 :(得分:4)
当Android Gradle任务升级到ProGuard Gradle任务版本4.10时,应解决此问题。后者具有Gradle必要的注释,以检查输出是否是最新的。