【问题标题】:Android .properties file with variable holding different values based on the current build variantAndroid .properties 文件,其中包含基于当前构建变体的不同值的变量
【发布时间】:2019-02-19 15:53:45
【问题描述】:

我有一个.property 文件,目前是这样的: com.myapp.token = myGenericString

我想要的是为不同的构建变体设置不同的值。比如:

if (BuildConfig == Release) {
    com.myapp.token = myReleaseString
} else {
    com.myapp.token = myOtherString
}

我是 Android 新手,所以我什至不确定这是否可行。 有什么建议?谢谢!

【问题讨论】:

    标签: android android-studio properties-file


    【解决方案1】:

    .properties 不支持,但您可以使用string resources 执行此操作,例如:

    app/src/main/res/values/strings.xmlapp/src/debug/res/values/strings.xml

    甚至不必在代码上有所不同,资源位置正在内部更改。

    【讨论】:

    • 看来我目前只有一个strings.xml 文件位于app/src/main/res/values/
    • @carlodonz 当您在main 目录(别名“源集”)旁边创建debug 目录时,这些文件将在调试模式下重载。这也适用于其他资源和类,它们只能在调试模式下使用。对于Manifest.xml 这也有效。
    • 问题是我使用的是外部框架,在安装指南中他们说要使用.properties 文件。但我想根据发布或其他任何内容为其设置不同的值
    • @carlodonz 我已经在我的回答中解释了这一点......虽然你不介意告诉它是哪个框架,但我只能说这种方法不会有任何结果 - 而你的例子可以使用调试资源来完成,而无需告诉框架使用哪个版本的文件。
    • 我可以告诉你,它是 Android 的 NewRelic,特别是第 5 步。“仅限 ProGuard:创建一个 newrelic.properties 文件。在项目的根目录 (projectname/app) 中,添加一个 newrelic.properties包含此设置的文件:com.newrelic.application_token=your_token
    猜你喜欢
    • 2013-03-27
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 2014-02-20
    • 1970-01-01
    • 2021-12-13
    • 2019-03-05
    相关资源
    最近更新 更多