最简单也是最好的长期解决方案是使用BuildConfig.DEBUG
.这是一个boolean
值,对于调试版本,该值将为true
,否则为false
:
if (BuildConfig.DEBUG) {
// do something for a debug build
}
有报道称,这个值在基于Eclipse的构建中不是100%可靠的,尽管我个人没有遇到问题,所以我不能说它到底有多大的问题.
如果您使用的是Android Studio,或者从命令行使用Gradle,您可以将自己的内容添加到BuildConfig
,或者调整debug
和release
构建类型,以帮助在运行时区分这些情况.
非法参数的解决方案基于 list 中android:debuggable
标志的值.如果这就是您希望区分"调试"构建和"发布"构建的方式,那么根据定义,这是最好的解决方案.然而,请记住,展望future ,debuggable
标志实际上是一个独立的概念,不同于Gradle/Android Studio认为的"调试"版本.任何生成类型都可以 Select 将debuggable
标志设置为对该开发人员和该生成类型有意义的任何值.