gpt4 book ai didi

java - 如何在 Android 应用程序上设置环境属性?

转载 作者:行者123 更新时间:2023-12-02 04:34:55 26 4
gpt4 key购买 nike

我的 Android 应用程序调用 Rest 服务,我想选择我的应用程序连接到的环境(例如本地开发、登台或生产)。理想情况下,我希望有一个属性(例如 SERVICE_HOST),并且每个环境都有不同的值。

在服务器端 Java 中,我可以传入 JVM 变量 (-DENVIRONEMNT=Production),属性加载器将根据该变量读取正确的属性文件。

Android 中有没有等效的方法? (或者可以解决我的问题的替代方法)

最佳答案

I would like to choose which environment my app connects to (say local dev, staging or production)

如果您使用的是 Android Studio,这些映射到 build types 。预先建立了两种构建类型:debugrelease。您可以在 app 模块的 build.gradle 文件中定义更多内容。并且,您可以定义每个构建类型常量。

例如:

buildTypes {
debug {
applicationIdSuffix ".d"
buildConfigField "String", "SERVER_URL", '"http://test.this-is-so-fake.com"'
}

release {
buildConfigField "String", "SERVER_URL", '"http://prod.this-is-so-fake.com"'
}

staging.initWith(buildTypes.release)

staging {
applicationIdSuffix ".stage"
debuggable true
buildConfigField "String", "SERVER_URL", '"http://stage.this-is-so-fake.com"'
}
}

这定义了一个新的构建类型(staging)并创建一个 BuildConfig.SERVER_URL 字段,您可以将其用作在运行时构建完整 URL 的基础。

Android Studio 中的“构建变体” View (默认停靠在左下角)将允许您选择“运行”和“调试”工具栏按钮实际使用的构建类型。

关于java - 如何在 Android 应用程序上设置环境属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30959228/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com