Android应用程序发布清单

Android应用程序发布清单,android,android-logcat,publishing,android-log,Android,Android Logcat,Publishing,Android Log,android应用程序发布清单上说,我需要从代码中删除所有日志语句。这是否意味着我需要删除它们,或者只是将它们注释掉?我以后需要这些日志语句进行更新和维护,所以我不想删除它们 发布检查表只是不希望在发布应用程序时包含日志语句,因为它可能包含一些敏感信息之类的内容。所以你只需要确保它没有被执行 只要不执行log语句,就可以了。 您可以执行以下操作: 删除该语句 评论声明 添加一个不可能的if语句: 如果(0!=0){ //日志 } 另外,第二种解决方案是最推荐的。您不必从代码中删除日志,只需在

android应用程序发布清单上说,我需要从代码中删除所有日志语句。这是否意味着我需要删除它们,或者只是将它们注释掉?我以后需要这些日志语句进行更新和维护,所以我不想删除它们

发布检查表只是不希望在发布应用程序时包含日志语句,因为它可能包含一些敏感信息之类的内容。所以你只需要确保它没有被执行

只要不执行log语句,就可以了。

您可以执行以下操作:

  • 删除该语句

  • 评论声明

  • 添加一个不可能的if语句:

如果(0!=0){ //日志 }
另外,第二种解决方案是最推荐的。

您不必从代码中删除日志,只需在
RELEASE
模式下禁用它们即可。实现这一点的最简单方法是,在记录某些内容之前检查模式

 if (BuildConfig.DEBUG) {
    Log.i("TAG", "Log");
 }
但是,如果代码中有大量日志,这将是一件痛苦的事情,因此最好在Android
Log
类之上编写自定义包装器,并能够在一个地方打开/关闭日志记录,例如在
应用程序
类中

或者你可以用一些聪明的伐木工人,比如

编辑

关于原木包装,老实说,我从来没有创建过这样的包装,我更喜欢使用木材,但最简单的版本可能是这样的

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");
使用


你能详细说明一下自定义包装解决方案吗?我对我的日志语句进行了注释,因为使用自定义包装重写它们会很痛苦。@user2197909如果代码中有日志并不重要,你当然可以删除它们,但我以后使用包装会很方便,因为调试应用程序时,您将始终拥有日志。
Log.e("Tag", "Body");
Logger.e("Tag", "Body");