2

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

4

2 回答 2

3

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

 if (BuildConfig.DEBUG) {
    Log.i("TAG", "Log");
 }

但是如果你的代码中有很多日志会很痛苦,所以最好在 AndroidLog类之上编写你的自定义包装器,并且能够在一个地方打开/关闭日志记录,例如在Application类中。

或者您可以使用一些智能记录器,例如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");
于 2015-10-11T07:06:07.867 回答
0

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

只要不执行日志语句就可以了。

您可以执行以下操作:

  • 删除语句

  • 评论声明

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

    如果(0!= 0){
       //日志
    }

PS第二种解决方案是最推荐的。

于 2015-10-11T07:01:22.047 回答