我可以在strings.xml中使用build.gradle生成的String吗?

时间:2018-05-28 11:24:51

标签: android string android-gradle android-xml android-resources

我们的应用名称在我的build.gradle风格中定义为

appNameFlavor{
        resValue "string", "app_name", "MyApp"
}

由于其他国家/地区存在商标问题,这是必要的。

使用

在strings.xml文件中也经常使用该名称
<!DOCTYPE resources [
    <!ENTITY appname "MyApp">
]>
<resources>
    <string name="activity_intro" translatable="true">&appname; Tour</string>
</resources>

这不太理想,因为字符串是硬编码的,需要针对每种风格进行切换。

我尝试在实体中使用@ strings / app_name而不是MyApp,而Android Studio实际上正确渲染它,构建失败。

有几个StackOverflow答案提到我应该使用<!ENTITY % ents SYSTEM "./res/raw/entities.ent">而只是为每种风格创建这些文件,但文件无法解析。

如何解决这个具有可变应用名称的问题,而不将引用应用名称的所有字符串放入特定于flavor的strings.xml文件中,最好是坚持当前定义应用名称的方式?

0 个答案:

没有答案