使用gradle从发布的apk文件中删除日志记录



我正在尝试从发布的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文件中?

有人能告诉我我的错误吗?

  • 一般来说,现在我会选择[这个解决方案]0

  • 在您的代码片段中,我认为您可能必须明确boolean类型:

    public static final boolean LOG_ENABLED = BuildConfig.DEBUG;

让它发挥作用,就像在其他答案中一样:[1],[2]

  • 从历史上看,BuildConfig.DEBUG;一直受到已知问题的影响,也受到库的影响,例如,可以在这里找到Eclipse和Android Studio的解决方案

最新更新