防止代码意外进入生产

时间:2013-07-15 20:25:46

标签: android lint android-build android-lint

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

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

为了这个目的,构建一个lint扩展似乎有点过头了,有没有更简单的方法呢?

修改

使用自动生成的BuildConfig.DEBUG标志,结合一些难以错过的屏幕指示,表示您正在调试模式下运行(加上精神记录,永远不会在快速修复后凌晨4点上传apk) - 将可能你已经被覆盖了。
BUT 它仍然不是我发布此问题的100%傻瓜式方法。

BuildConfig.DEBUG {{}}}关于{{1}}随机无法按预期运行。 所以这个问题仍然存在 - 是否有一个complaints技巧,或类似的技巧呢?

4 个答案:

答案 0 :(得分:8)

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


    android { 
        lintOptions {
            fatal 'StopShip' 
        } 
    }

只要代码库中存在StopShip条评论,就会破坏构建。

Watch the exact minute Tor Norbye的“Kotlin静态分析与Android Lint”谈话,在那里他谈到了这个功能。

答案 1 :(得分:3)

你解决了这个问题吗?我知道2年过去了,但我在发表评论时意外发现STOPSHIP时发现了this。{/ p>

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

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

答案 2 :(得分:1)

您可以修改build.xml,让它read your DEBUG flag from the source并根据值更改APK的文件名。使该名称足够明确,您永远不会分发或上传错误的APK(并且您也可以将其作为其他后续自动化流程的条件)。

答案 3 :(得分:0)

我已经可靠地使用此标志了几年了:

BuildConfig.DEBUG

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