这是对这篇文章帮助我的答案的延续
我们可以添加字符串资源,如下所示build.gradle:
Run Code Online (Sandbox Code Playgroud)productFlavors { main{ resValue "string", "app_name", "InTouch Messenger" } googlePlay{ resValue "string", "app_name", "InTouch Messenger: GPE Edition" } }
它的作用就像一个魅力,并且每个风格都有不同的app名称.(app_name从strings.xml文件中删除原始字符串资源.
但是,我们如何为这个添加的字符串资源添加本地化字符串build.gradle?
我们可以通过指定区域设置的附加参数吗?
或者
可以使用gradle任务来完成它?
注意:我不能这样做strings.xml(因为我的项目结构的几种方式不可行)
android android-resources android-studio android-gradle-plugin android-productflavors
这个问题继续我的另一个问题,我想进一步改进.
我能够sourceSets使用以下代码对flavor(具有通用配置)进行分组:
(从上面链接问题的天才那里得到它)
import com.android.build.gradle.api.AndroidSourceSet
android {
sourceSets {
[flavor2, flavor4].each { AndroidSourceSet ss ->
ss.assets.srcDirs = ['repo-assets/flavor2']
ss.res.srcDirs = ['repo-res/flavor2']
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在,我想知道列表[flavor2, flavor4]是否可以从以下任何一个中提取:
除了风味名称,我打算将以下内容存储在外部源(上面的一个)中:
productFlavors)PORPOSE: 我想写一个通用的代码片段来迭代并动态创建productFlavors和sourceSets.我已经推广sourceSets到几乎90%,一个块现在足以满足各种口味.
它现在看起来像这样:
sourceSets {
[flavor1, flavor2, flavor3 ...].each { AndroidSourceSet ss ->
ss.assets.srcDirs = ['repo-assets/' + ss.name.split('_')[0]]
ss.res.srcDirs = ['repo-mipmap/' + ss.name.split('_')[0] , 'repo-strings/' + ss.name]
}
}
Run Code Online (Sandbox Code Playgroud)
也想像productFlavors上面提到的那样做同样的事情.
STUCK …
android android-build android-gradle-plugin android-productflavors android-sourcesets
android ×2