如何添加附加/额外清单,以便在构建时最终将其与主清单合并?
app/
├─ src/
│ ├─ flavor_1/
│ │ ├─ AndroidManifest.xml
│ ├─ flavor_2/
│ │ ├─ AndroidManifest.xml
│ ├─ flavor_3/
│ │ ├─ AndroidManifest.xml
│ ├─ main/
│ │ ├─ AndroidManifest.xml
│ ├─ shared_feature/
│ │ ├─ main/
│ │ │ ├─ AndroidManifest.xml //TODO: include this to be merged as well
│ │ │ ├─ java/
│ │ │ ├─ res/
现在我的风格特定的 AndroidManifest.xml 和主 AndroidManifest.xml 已正确合并,但我希望也合并此附加清单。
当前可用的所有解决方案都说明了以下解决方案, 但问题是,如果我这样做,它将覆盖我的风格特定的 AndroidManifest.xml 的路径 我买不起,我需要所有这些。
android {
sourceSets {
flavor_1 {
java.srcDirs += 'src/shared_feature/main/java'
res.srcDirs += 'src/shared_feature//main/res'
manifest.srcFile = 'src/shared_feature//main/AndroidManifest.xml'
}
}
}
但是这个解决方案不好,因为它替换了现有风味特定清单的清单文件路径。 它确实包括新的,但随后省略了特定风味的清单。 我需要将两者都包含在 main 中。
例如,您可以将
shared_feature
定义为与 app
模块处于同一级别的模块。
app/
├─ src/
│ ├─ flavor_1/
│ │ ├─ AndroidManifest.xml
│ ├─ flavor_2/
│ │ ├─ AndroidManifest.xml
│ ├─ flavor_3/
│ │ ├─ AndroidManifest.xml
│ ├─ main/
│ │ ├─ AndroidManifest.xml
shared_feature/
├─ src/
│ ├─ flavor_1/
│ │ ├─ AndroidManifest.xml
│ ├─ flavor_2/
│ │ ├─ AndroidManifest.xml
│ ├─ flavor_3/
│ │ ├─ AndroidManifest.xml
│ ├─ main/
│ │ ├─ AndroidManifest.xml
build.gradle
模块中包含的shared_feature
文件可以定义与应用程序相同的风格并提供额外的清单文件。