防止代码意外进入生产

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

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

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

编辑

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

仍然有人抱怨 BuildConfig.DEBUG随机无法按预期运行。 所以这个问题仍然存在 – 是否有一个皮棉技巧或类似的技巧呢?

你解决了这个问题吗? 我知道2年过去了,但是我在发表评论时偶然发现了STOPSHIP发现了这个问题。

 StopShip -------- Summary: Code contains STOPSHIP marker Priority: 10 / 10 Severity: Warning Category: Correctness NOTE: This issue is disabled by default! You can enable it by adding --enable StopShip 

所以我会说你应该执行命令才能启用它。

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

android { lintOptions { fatal 'StopShip' } }
android { lintOptions { fatal 'StopShip' } } 

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

观看 Tor Norbye的“Kotlin静态分析与Android Lint”谈话的确切时间 ,在那里他谈到了这个function。

您可以修改build.xml,让它从源读取您的DEBUG标志,然后根据值更改APK的文件名。 使该名称足够明确,您永远不会分发或上传错误的APK(您也可以将其作为其他后续自动化流程的条件)。