6

我的 Proguard 配置文件使用以下内容删除日志语句:

-assumenosideeffects class android.util.Log {
    public static *** d(...);
    public static *** e(...);
}

显然这仅在打开优化时生效,所以我proguard-android-optimize.txt在我的项目属性文件中引用,而不是proguard-android.txt.

这是一个无关紧要的改变吗?proguard-android-optimize.txt 说“添加优化会带来某些风险,因为例如并非所有由 ProGuard 执行的优化都适用于所有版本的 Dalvik ”这到底是什么意思,我可以使用 proguard-android-optimize.txt而是只添加我自己的配置文件所需的优化语句,以便日志删除生效?

谢谢。总 Proguard 新手。

4

1 回答 1

7

如果启用了优化,您确实只能删除日志记录。

在当前版本的 ProGuard 中优化应该相当稳定。如果您愿意,可以替换<android.sdk>/tools/proguard/lib/proguard.jar最新版本。例如,与 Android SDK 中的 4.7 版相比,4.9 版改进了从代码中删除日志记录的痕迹(由“java -jar proguard.jar”的输出指示)。

于 2013-07-19T22:26:46.603 回答