我们正在使用Flavors来创建我们App的OEM版本。每个Flavor都在一个额外的文件中定义(工作正常),每个Flavor也应该在一个单独的文件中定义自己的SigningConfig。但Flavors本身使用的方法不适用于SigningConfigs。以下是各种文件中的内容:
的build.gradle
android {
signingConfigs {
release { /* */ }
/* Find and apply all Signing-Configs for Branding of App */
project.file('oem-gradle-includes').listFiles().findAll {
it.name.endsWith('.signing')
}.collect {
apply from: it /* Apply the signingConfig defined in each File */
}
}
}
Sample.signing
/* SigningConfig for SampleOEM-App */
android {
signingConfigs {
oemSample {
storeFile file('oem-gradle-includes/OEMSample.keystore')
keyAlias "oemsample"
storePassword "SuperSecretStorePassword"
keyPassword "OnePasswordToRuleThemAll"
}
}
}
使用Gradle文件同步项目工作正常(=无错误),但在查看项目结构的签名选项卡时,我看到project.file('oem-gradle-includes').listFiles().findAll {it.name.endsWith('.signing')}.collect
而不是预期的oemSample
。
知道我做错了什么吗?另一种解决方案是实现什么(从外部文件导入SigningConfig)我想要的?