如果是从Eclipse运行的测试环境或从Market安装的已签名版本,我如何在运行时知道? (我只需要在测试时运行一些调试代码,因为在实时中我会在运行此代码时收到一些ANR报告)
答案 0 :(得分:0)
你不需要。您只需将它们记录在Log.d级别,然后使用ProGuard等工具删除此类日志
http://proguard.sourceforge.net/
此答案中的更多解释Remove all debug logging calls before publishing: are there tools to do this?
修改
如果是这种情况,您需要在外部属性文件中使用某种布尔值,并且条件性地写入日志。
答案 1 :(得分:0)
根据http://android-developers.blogspot.co.uk/2010/09/securing-android-lvl-applications.html
boolean isDebuggable = ( 0 != ( getApplcationInfo().flags &= ApplicationInfo.FLAG_DEBUGGABLE ) );
如果是可调试的,会让你知道,然后你可以将它保存到共享的pref或其他方法,然后随时检查它。