我目前正在尝试将Android Studio更新为1.0.0-RC.这似乎需要gradle Android插件1.0.0-rc1.更新后,我开始出现以下错误:
`Could not find property 'processManifest' on com.android.build.gradle.internal.api.ApplicationVariantImpl_Decorated@b9da89c.`
Run Code Online (Sandbox Code Playgroud)
通过一些挖掘,似乎这processManifest是在0.14.3版本中删除的已弃用属性之一.知道新的属性名称是什么?相同的用户指南尚未针对新版本进行更新,因此我找不到任何相关文档.
编辑:这是需要该属性的代码.我使用它将一些构建时值注入清单:
applicationVariants.all { variant ->
variant.processManifest << {
def manifestOutFile = variant.processManifest.manifestOutputFile
def newFileContents = manifestOutFile.getText('UTF-8')
.replace("{GOOGLE_MAPS_KEY}", variant.buildType.ext.google_maps_key)
manifestOutFile.write(newFileContents, 'UTF-8')
}
}
Run Code Online (Sandbox Code Playgroud) android gradle android-studio build.gradle android-gradle-plugin
我有一个Gradle Android项目,使用此产品组和Flavors配置:
/*
* Define different flavor groups
*/
flavorGroups 'market', 'version'
/*
* Defile product flavors
*/
productFlavors {
amazon {
flavorGroup 'market'
}
google {
flavorGroup 'market'
}
flav1 {
flavorGroup 'version'
packageName 'com.company.flav1'
}
flav2 {
flavorGroup 'version'
packageName 'com.company.flav2'
}
flav3 {
flavorGroup 'version'
packageName 'com.company.flav3'
}
}
// .. Other stuff
Run Code Online (Sandbox Code Playgroud)
它很棒.所有源和资源都正确合并.但由于特定原因,我需要包后缀.amz为amazon产品风味.我怎样才能做到这一点?
我试过这种方式:
amazon {
flavorGroup 'market'
packageNameSuffix '.amz'
}
Run Code Online (Sandbox Code Playgroud)
但gradle抛出一个例外.