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