我正在构建一个 Android 应用程序,并希望维护一些环境变量,我可以根据我是处于开发模式还是 Release模式来调整它们。例如,我需要调用一个 Web 服务,并且 URL 在任何一种模式下都会略有不同。我想将此设置和其他设置外部化,以便可以根据我的目标部署轻松更改它们。
SDK 中是否有任何最佳实践或任何内容来帮助满足这一需求?
最佳答案
以下解决方案假定您始终在 list 文件中设置 android:debuggable=true
在开发和android:debuggable=false
用于应用程序发布。
现在您可以通过检查 ApplicationInfo.FLAG_DEBUGGABLE
从代码中检查此属性的值。 ApplicationInfo
中的标志来自 PackageManager
.
以下代码 fragment 可能会有所帮助:
PackageInfo packageInfo = ... // get package info for your context
int flags = packageInfo.applicationInfo.flags;
if ((flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0) {
// development mode
} else {
// release mode
}
关于android - 区分Android上的开发模式和 Release模式环境设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1743683/