使用Proguard和优化的Android配置文件删除日志记录

时间:2013-07-17 21:46:26

标签: optimization logging proguard

My 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而是只添加我需要的优化语句自己的配置文件,以便日志删除生效?

感谢。 Total Proguard新手。

1 个答案:

答案 0 :(得分:7)

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

在当前版本的ProGuard中,优化应该非常稳定。如果您愿意,可以将<android.sdk>/tools/proguard/lib/proguard.jar替换为latest version。例如,与编写本文时Android SDK中的4.7版(由“java -jar proguard.jar”的输出表示)相比,版本4.9在从代码中删除了日志记录的痕迹方面进行了改进。