作者:johnylulu2502904467 | 来源:互联网 | 2023-05-22 13:22
在我的app级build.gradle中,我有以下几种风格:
productFlavors {
originalFlavour{
}
freeFlavour{
}
}
事情是建立两种口味我得到相同的应用程序名称.相反,我希望每种口味都有不同的应用程序名称.只需添加后缀即可.希望有人可以帮助我.
提前致谢
编辑:
应用程序/ SRC /主/ AndroidManifest.xml中
应用程序/ SRC/freeFlavour/AndroidManifest.xml中
1> stkent..:
app_name
从现有strings.xml
文件中删除字符串,然后您可以执行此操作:
productFlavors {
originalFlavour{
resValue "string", "app_name", "Original Flavor Name"
}
freeFlavour{
resValue "string", "app_name", "Free Flavor Name"
}
}
然后,@string/app_name
清单中的现有引用将引用生成的字符串资源,该资源基于所选的flavor.
请注意,如果为启动活动指定标签(通过android:label
在
元素中定义xml标记),则该值将用于许多用户可见的位置,而不是应用程序的标签.为了克服这种情况,您可以完全删除
元素中的标签.有关此区别的更多详细信息,请参阅/sf/ask/17360801/.
回答你的第一个问题:是的,这也适用于构建类型(调试,发布等).从[gradle插件的v0.8.1发行说明](http://tools.android.com/tech-docs/new-build-system):"你现在可以使用resValue
,,构建类型和产品风格的与使用buildConfigField的方式相同."
尼斯.我现在测试了"app_name",但Android-Studio声称我已经拥有了这个("重复资源......").我该如何避免这种情况?是因为,正如您所写,我需要从"strings.xml"文件中删除"app_name"?如何避免删除(已翻译)?
2> crubio..:
您可以在AndroidManifest.xml中使用字符串资源:
然后在../app/src/文件夹中为每种风格使用不同的值资源文件:
![../app/src/](https://img.php1.cn/3cd4a/1eebe/cd5/8ad8f3bf8da691df.webp)
此解决方案的关键是您可以在每个值文件夹中为每个flavor创建本地化的strings.xml文件:/ res/values /,/ res/values-pt /,/ res/values-es /等.
每个string.xml都可以将应用程序名称本地化,Free Flavor Name的默认值(/ res/values /)可以是:
Free Flavor Name