我们的应用名称在我的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文件中,最好是坚持当前定义应用名称的方式?