防止代码意外进入生产

Ami*_*val 11 android lint android-build android-lint

我正在寻找一种简单的方法来确保static final boolean DEBUG在将我的Android项目导出到APK时将我的标志设置为false.

我已经尝试过使用这里提到的"STOPSHIP"评论标记,但它似乎对apk导出没有任何影响,或者我使用它错了.

为此目的建立一个lint扩展看起来有点过分,有没有更简单的方法呢?

编辑

使用自动生成的BuildConfig.DEBUG标志,结合一些难以错过的屏幕指示,你在调试模式下运行(加上心理记录永远不会在快速修复后凌晨4点上传apk) - 可能会让你满意.
它仍然不是我发布此问题的100%万无一失的方法.

仍然存在关于随机无法正常运作的抱怨BuildConfig.DEBUG.所以这个问题仍然是开放的 - 是否有一个lint技巧或类似的技巧呢?

azi*_*ian 8

Android Gradle Plugin 3.0开始,您可以在build.gradle文件中进行以下配置:


    android { 
        lintOptions {
            fatal 'StopShip' 
        } 
    }

只要StopShip代码库中存在注释,这将破坏构建.

观看 Tor Norbye的"使用Android Lint进行Kotlin静态分析"谈话的确切时间,在那里他谈到了这个功能.


Ami*_*val 2

我已经可靠地使用这个标志好几年了:

BuildConfig.DEBUG
Run Code Online (Sandbox Code Playgroud)

当我发布这个问题时,它没有很久以前发生的问题。