使用 gradle 从发布 apk 文件中删除日志记录
Posted
技术标签:
【中文标题】使用 gradle 从发布 apk 文件中删除日志记录【英文标题】:remove logging from release apk file using gradle 【发布时间】:2015-11-12 10:46:52 【问题描述】:我正在尝试从发布 apk 文件中删除日志记录。我遵循了使用 BuildConfig.DEBUG
变量的建议,这对于调试版本为 true,否则为 false。
在常量文件中,我有:
public static final LOG_ENABLED = BuildConfig.DEBUG;
然后我在记录之前检查变量。
if(Constants.LOG_ENABLED)
// print Log
然后,在gradle
构建文件中,我添加了android
buildTypes release minifyEnabled true shrinkResources true
。然后我运行gradle assembleRelease
,但日志仍然保留在 apk 文件中?
有人可以告诉我我的方式的错误吗?
【问题讨论】:
似乎这会单独删除 log.d() 的日志 不幸的是,甚至 log.d 也没有被删除。看来我做错了什么。 检查此链接是否有帮助 ***.com/questions/9855834/… 如果您基于布尔值进行日志记录,您可以在发布 apk 之前将该变量 LOG_ENABLED 设置为 false 【参考方案1】:喏,
很抱歉加入派对太晚了,但是:
总的来说,现在我会选择this solution在您的 sn-p 中,我认为您可能必须明确 boolean
类型:
public static final boolean LOG_ENABLED = BuildConfig.DEBUG;
让它工作,就像在这些其他答案中一样:[1],[2]
从历史上看,BuildConfig.DEBUG;
一直受到known issues 的影响 - 还有with libraries - 可以找到适用于 Eclipse 和 Android Studio 的解决方案,例如 here
希望对你有帮助
祝你有美好的一天, 安东尼诺
【讨论】:
以上是关于使用 gradle 从发布 apk 文件中删除日志记录的主要内容,如果未能解决你的问题,请参考以下文章