据我所知,在 android 中,“release build”是签名的 APK。如何从代码中检查它 或者 Eclipse 是否有某种 secret 定义?
我需要它来调试从 Web 服务数据填充 ListView 项目(不,logcat 不是一个选项)。
我的想法:
- 应用程序的
android:debuggable
,但由于某种原因看起来不可靠。 - 硬编码设备 ID 不是一个好主意,因为我使用相同的设备来测试签名的 APK。
- 在代码中的某处使用手动标志?有道理,但肯定会在某个时候忘记更改,而且所有程序员都很懒惰。
最佳答案
要检查可调试标志,您可以使用以下代码:
boolean isDebuggable = ( 0 != ( getApplicationInfo().flags & ApplicationInfo.FLAG_DEBUGGABLE ) );
Kotlin :
val isDebuggable = 0 != applicationInfo.flags and ApplicationInfo.FLAG_DEBUGGABLE
更多信息,请参阅Securing Android LVL Applications .
或者,如果您正确使用 Gradle,您可以检查 BuildConfig.DEBUG
是 true 还是 false。
关于android - 如何检查 APK 是否已签名或 "debug build"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7085644/