我正在使用 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.
最佳答案
当 Android Gradle 任务升级到 ProGuard Gradle 任务版本 4.10 时,应该可以解决此问题。后者具有 Gradle 必要的注释来检查输出是否是最新的。
关于android - Proguard 每次都与 gradle 一起运行;结果未重复使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20092486/