android - 区分Android上的开发模式和 Release模式环境设置

标签 android development-environment release-management

我正在构建一个 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/

相关文章:

android - 没有导航编辑器 - Android Studio Canary 15 和 16

android - 在启动画面期间获取用户的地理位置

android - 如何检测电源连接状态?

macos - 如何在 OS-X 上同时运行两个不同版本的 Java?

svn - 最好的通用 SVN 忽略模式?

c - C 编程中同一行中的值相加

tfs-2015 - TFS 2015 发布管理访问构建变量

maven-2 - 具有小型且频繁发布的 Maven 项目的版本控制

abap - 通过 SAP CTS 手动传输类,要包含哪些对象?

java - 需要一个对象的坐标