Tho*_*kos 5 string android gradle android-studio
我有一个具有2种不同口味/变体的android应用程序。如何为每种口味设置不同的字符串(例如,应用名称,按钮标签等)?到目前为止,我所做的实际上是有效的,但并非完全符合我的
意愿:我使用gradle创建了两种口味。具体来说,我创建了一个flavor1_res和一个flavor2_res文件夹,并将其中的特定于风味的资源放入其中。
具体来说,我在每个文件夹下都放置了一个strings.xml文件。每个文件包含相同的字符串标签,但字符串的值不同。该应用程序可以从命令行(gradlew assembleFlavor1例如,使用命令行)构建,但是在Android Studio中无法识别我的字符串,并且遇到了所有这些编译错误。
还有另一种方法吗?如何使Android Studio识别两个string.xml文件?(我已经将相应的文件夹添加为源文件夹)。
谢谢托马斯
小智 7
您可以像这样在 build.gradle 文件中声明资源字符串:
productFlavors {
devel {
resValue 'string', 'fancy_name', 'Development App'
}
prod {
resValue 'string', 'fancy_name', 'Production App'
}
}
Run Code Online (Sandbox Code Playgroud)
所以现在根据您正在构建的风格,“fancy_name”字符串将是“Development App”或“Production App”。我经常用这个。
如果我正确理解这个问题,Android Studio (AS) 无法识别资源文件夹的内容。如果在 build.gradle (app) 中你有以下内容:
productFlavors {
free {
applicationIdSuffix ".free"
versionNameSuffix "-free"
}
paid {
applicationIdSuffix ".paid"
versionNameSuffix "-paid"
}
}
Run Code Online (Sandbox Code Playgroud)
AS 中有一个名为“Build Variants”的窗格,可以在其中选择免费或付费。所以如果你点击free,AS就会识别free下的res文件夹是什么。
| 归档时间: |
|
| 查看次数: |
1286 次 |
| 最近记录: |