Android app发布清单说我需要从我的代码中删除所有Log语句。这是否意味着我需要删除它们或者只是将它们注释掉?我稍后会需要这些日志语句进行更新和维护,所以我不想删除它们。Publishing checklist
答案 0 :(得分:3)
您不必从代码中删除日志,只需在RELEASE
模式下停用它们即可。实现这一目标的最简单方法是,在记录某事之前检查模式
if (BuildConfig.DEBUG) {
Log.i("TAG", "Log");
}
但是如果你的代码中有很多日志会很痛苦,所以很好的想法是在Android Log
类之上编写自定义包装器,能够在一个地方打开/关闭日志记录,例如在Application
class。
或者您可以使用Timber
等智能记录器修改强>
关于日志包装器,说实话我从未创建过这样的包装器,我更喜欢使用Timber,但最简单的版本可能看起来像这样
public class Logger {
public static void e(String tag, String body) {
if (BuildConfig.DEBUG) {
Log.e(tag, body);
}
}
public static void v(String tag, String body) {
if (BuildConfig.DEBUG) {
Log.v(tag, body);
}
}
...
}
而不是使用
Log.e("Tag", "Body");
使用
Logger.e("Tag", "Body");
答案 1 :(得分:0)
发布检查清单只是不希望您在发布应用时包含日志语句,因为它可能包含一些敏感信息和那些东西。所以你只需要确保它没有被执行。
只要日志声明没有执行,就可以了。
您可以执行以下操作:
删除声明
评论声明
添加一个不可能的if语句:
if (0 != 0) { //log }
P.S。第二种解决方案是最推荐的。