0

我如何在 Android 运行时知道它是从 Eclipse 运行的测试环境还是从 Market 安装的签名版本?(我只需要在测试时运行一些调试代码,因为在现场我会在运行此代码时捕获一些 ANR 报告)

4

2 回答 2

0

你不需要。您可以将它们记录在 Log.d 级别,然后使用 ProGuard 等工具删除此类日志

http://proguard.sourceforge.net/

此答案中的更多解释在发布之前删除所有调试日志记录调用:是否有工具可以执行此操作?

编辑

如果是这种情况,您需要在外部属性文件中有某种布尔值并有条件地写入日志。

有关此处的更多信息 来自 Ant 中的属性文件的变量

于 2013-02-15T06:27:27.803 回答
0

根据http://android-developers.blogspot.co.uk/2010/09/securing-android-lvl-applications.html

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

如果可调试,会通知您,然后您可以将其保存到共享首选项或其他方法,然后随时检查。

于 2013-02-18T22:56:34.917 回答