Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
应用程序的Android调试/发布版本_Android_Debugging_Release Mode - Fatal编程技术网

应用程序的Android调试/发布版本

应用程序的Android调试/发布版本,android,debugging,release-mode,Android,Debugging,Release Mode,关于查找您的应用程序是处于发布模式还是调试模式,我有一个问题。 我需要找到一种方法来检测应用程序模式自动与功能。现在,我正在使用一种简单的方法声明一个布尔值,每次我必须更改true/false。但有时我或其他开发人员可能会忘记更改它。实际上,我需要这个,因为我在我的应用程序中使用了一个错误处理程序,它正在向我们的服务器发送未捕获的异常。我不想在调试模式下这样做 那么,有没有什么方法可以通过我的应用程序自动执行的某些功能检测到这一点,而无需像我一样使用任何变量?没有通用解决方案,但您可以使用 但是

关于查找您的应用程序是处于发布模式还是调试模式,我有一个问题。 我需要找到一种方法来检测应用程序模式自动与功能。现在,我正在使用一种简单的方法声明一个
布尔值
,每次我必须更改
true/false
。但有时我或其他开发人员可能会忘记更改它。实际上,我需要这个,因为我在我的应用程序中使用了一个错误处理程序,它正在向我们的服务器发送未捕获的异常。我不想在调试模式下这样做


那么,有没有什么方法可以通过我的应用程序自动执行的某些功能检测到这一点,而无需像我一样使用任何变量?

没有通用解决方案,但您可以使用

但是,如果您的用户将手机连接到PC并自己使用DDM,此解决方案也会触发/显示调试功能


也许您应该将此与Aleks G建议的检查结合起来,并在每次启动时弹出一条Toast消息,提醒您禁用调试;-)

没有通用解决方案,但您可以使用

但是,如果您的用户将手机连接到PC并自己使用DDM,此解决方案也会触发/显示调试功能

也许您应该将此与Aleks G建议的检查结合起来,并在每次启动时弹出一条Toast消息,提醒您禁用调试;-)

为什么不用这个

if (BuildConfig.DEBUG) {
    // what shall happen in debug version
} else {
    // release version
}
为什么不用这个

if (BuildConfig.DEBUG) {
    // what shall happen in debug version
} else {
    // release version
}

我认为你不能简单地做到这一点。您可以尝试从清单中检索应用程序的
android:debugable
属性,但是,不是100%确定。另一种选择是从apk中检索签名的哈希值,并将其与用于为应用程序签名的已知调试/发布签名进行比较。因此,我必须坚持使用布尔变量。我认为你不能简单地做到这一点。您可以尝试从清单中检索应用程序的
android:debugable
属性,但这也不是100%确定的。另一种选择是从apk检索签名的哈希,并将其与用于签名应用程序的已知调试/发布签名进行比较。因此,我必须坚持使用布尔变量