gradle-experimental resValue

时间:2016-02-05 11:44:49

标签: android android-studio gradle android-gradle

我想在Android Studio中为每个风格设置我的appName。我使用com.android.tools.build:gradle-experimental:0.4.0插件,所以我不能使用标准的gradle / groovy语法。

我在这里找到了一个解决方案:how to change android app name in the build gradle file

然而,在我的所有实验中,我都无法找到resValue字段的正确语法。

我尝试过这样的事情:

buildConfigFields.resValue = {
            create() {
                type = "String"
                name = "appName"
                value = "Game_Name"
            }
        }

但没有运气。

3 个答案:

答案 0 :(得分:1)

我认为最好的方法是覆盖flavor文件夹中的strings文件中的字符串。

所以创建以下文件:

src/flavor1/res/values/strings.xml
src/flavor2/res/values/strings.xml

然后在这些文件中添加应用名称的值

 <string name="app_name">XXXX</string>

答案 1 :(得分:1)

我已经使用了“gradle-experimental:0.8.0-rc2”

model {
    android {
        defaultConfig {
        ...
            resValues.with {
                create() {
                    type = "string"
                    name = "myVar"
                    value = "myValue"
                }
            }
        }
    }
}

之后,我可以使用以下代码在我的代码中访问此变量:

R.string.myVar

希望这有帮助。

答案 2 :(得分:0)

您可以在app / build.gradle中尝试此操作

android {
 .....
 .....
 productFlavors {
  flavor1 {
   resValue "string", "app_name", "App-Name Flavor1"
  }
  flavor2 {
   resValue "string", "app_name", "App-Name Flavor2"
  }
 }
}

注意:从 strings.xml

中删除字符串 app_name

编辑:

上述方法 不适用于给定的0.4.0插件。

根据@Gabriele Mariotti的建议,您可以尝试覆盖该风格的app_name字符串的值。 这是你如何做到的。

在各个strings.xml文件中添加app_name字符串

src
-- main/res/values/strings.xml (default value)
-- flavour1/res/values/strings.xml
-- flavour2/res/values/strings.xml