2012-01-27 87 views
1

我有一个关于查找应用程序是否处于发布模式或调试的问题。 我需要找到一种方法来自动检测应用程序模式的功能。现在我使用一种简单的方法来声明boolean,每次我必须更改true/false。但有时我或其他开发者可能会忘记改变它。其实我需要这个,因为我在我的应用程序中使用了一个错误处理程序,它正在向我们的服务器发送未捕获的异常。我不想在调试模式下执行此操作。Android调试/发布版本的应用程序

那么有没有什么办法可以检测到我的应用会自动执行的一些功能,而不使用像我这样的变量?

+0

我不认为你可以简单地做到这一点。您可以尝试从清单中检索应用程序的'android:debuggable'属性,但这又不是100%确定的。 – 2012-01-27 14:00:47

+0

另一种方法是从apk中检索签名的哈希,并将其与用于签名应用程序的已知调试/发布签名进行比较。 – 2012-01-27 14:01:18

+0

所以我必须坚持使用布尔变量 – 2012-01-27 14:07:52

回答

1

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

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

也许你与前人的精力支票阿莱克斯摹提出的一个结合这一点,并在每提醒您禁用调试;-)

0

为什么不利用这个开始弹出一个烤面包的消息?

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