如何在代码中检测我处于发布模式还是调试模式?


当前回答

或者,您可以使用BuildConfig.BUILD_TYPE进行区分;

如果您正在运行调试构建 BuildConfig.BUILD_TYPE.equals(“调试”);返回true。对于发布,构建BuildConfig.BUILD_TYPE.equals("release");返回true。

其他回答

if (BuildConfig.DEBUG) { 



}

这对我很有用

是的,你将没有问题使用:

if (BuildConfig.DEBUG) {
   //It's not a release version.
}

除非您导入了错误的BuildConfig类。确保您引用的是项目的BuildConfig类,而不是来自任何依赖库。

构建。IS_DEBUGGABLE也可以。它来自于"ro。debuggable"

试试下面的方法:

boolean isDebuggable =  ( 0 != ( getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE ) );

科特林:

val isDebuggable = 0 != applicationInfo.flags and ApplicationInfo.FLAG_DEBUGGABLE

这是从这里的邦德尔邮局拍下来的

确保您导入了正确的BuildConfig类 是的,你将没有问题使用:

if (BuildConfig.DEBUG) {
   //It's not a release version.
}