Android 应用发布清单

Posted

技术标签:

【中文标题】Android 应用发布清单【英文标题】:Android app publishing checklist 【发布时间】:2016-01-08 19:46:38 【问题描述】:

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

【问题讨论】:

【参考方案1】:

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

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

但是,如果您的代码中有大量日志,那会很痛苦,因此最好在 Android Log 类之上编写您的自定义包装器,例如,能够在一个地方打开/关闭日志记录在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");

【讨论】:

您能详细说明一下自定义包装解决方案吗? 我评论了我的日志语句,因为使用自定义包装器重写它们会很痛苦。 @user2197909 如果您的代码中的日志并不重要,您当然可以删除它们,但我将来使用包装器会更方便,因为在调试您的应用程序时您将始终有日志。 【参考方案2】:

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

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

您可以执行以下操作:

删除语句

评论声明

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

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

附:第二种方案最推荐。

【讨论】:

以上是关于Android 应用发布清单的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Android 清单应用程序中添加多个“工具:替换”?

清单中有啥权限可以将应用程序放入省电的android中

即使我将应用程序清单设置为纵向,为啥我的 Android 相机预览仍显示横向?

两个应用程序图标显示 android。我的清单有问题吗?

清单合并失败:针对 Android 12 的应用程序 - Android Studio 错误 [重复]

IBM MobileFirst - 添加推送清单权限的原生 Android 应用程序