有没有使用ProGuard优化删除日志记录调用的方法?

时间:2011-07-20 23:53:25

标签: java android proguard

我有一个用于在开发期间进行日志调用的包装类。这样可以在任何给定时间轻松打开或关闭所有日志记录(以及其他一些漂亮的功能)。以前我使用特定的ProGuard优化来在发布期间删除这个类,这也删除了对类的静态方法的调用(因此没有留下日志字符串)。

不幸的是,由于 this ,我必须禁用ProGuard的优化功能。虽然我可以轻松关闭日志记录,但所有日志字符串仍然在生成的apk中可见,除非我遗漏了某些内容,否则ProGuard中没有其他方法可以删除它们。

在Eclipse GUI中构建发布包时,还有其他方法可以删除这些字符串吗? (不是ANT)

1 个答案:

答案 0 :(得分:0)

我不知道你的字符串文字在哪里等,但是为了模拟一个ifdef调试语句,你会做一些similar to this,如果你可以只包装所有受影响的内部类/方法/ var,那么这可能是微不足道的。你的调试类在这样的声明中。

显然,编译器会删除它在该块中找到的任何内容,因为或多或少的死代码,或者我已阅读,但从未检查过它。