如何将额外的 Manifest.xml 文件添加到我的构建中

问题描述 投票:0回答:1

如何添加附加/额外清单,以便在构建时最终将其与主清单合并?

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 中。

android android-studio gradle build android-manifest
1个回答
0
投票

例如,您可以将

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
文件可以定义与应用程序相同的风格并提供额外的清单文件。

© www.soinside.com 2019 - 2024. All rights reserved.