【发布时间】:2013-11-20 09:50:35
【问题描述】:
我正在使用 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-DATEfor 随后的运行,这似乎证实了这一点。运行 proguard 会为每次构建增加大量时间。特别是运行connectedInstrumentTest,目前每次都需要运行proguard。
这是使用 proguard/gradle 时的正常行为吗?如果不是,哪些因素会导致 proguard 步骤每次都运行?
注意:实际上我不可能在没有 proguard 收缩的情况下构建我的应用程序,dex 步骤失败并出现以下错误:
trouble writing output: Too many method references: 67195; max is 65536.
【问题讨论】:
-
你为什么经常调用assembleRelease?