【发布时间】:2018-02-01 00:02:53
【问题描述】:
我尝试用proguard做一些代码优化,但直到现在还没有成功。 SO上类似问题的所有答案都没有帮助我,谷歌提供的关于proguard的文档也不是很有帮助。
我做了什么:
我在应用级别的 build.gradle 中有以下内容:
buildTypes {
debug {
testCoverageEnabled = true
debuggable true
}
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debuggable.initWith(buildTypes.debug)
debuggable {
testCoverageEnabled = false
debuggable true
}
}
在我的 proguard-rules.pro 中我添加了这个:
-assumenosideeffects class android.util.Log {
public static boolean isLoggable(java.lang.String, int);
public static int v(...);
public static int i(...);
public static int w(...);
public static int d(...);
public static int e(...);
}
我没有更改 proguard-android-optimize.txt 文件中的任何内容。
现在,当我构建一个签名的发布 apk (Android Studio 3.0) 时,反编译结果显示我的代码没有任何变化,并且没有可见的 proguard 输出(不在 app/build/intermediates-folder 中,也不在毕业控制台)。我确定我错过了一些非常简单的东西,但我无法弄清楚。
我还需要配置什么才能让 proguard 运行吗?
【问题讨论】: