获取Android应用程序包清单的Gradle任务

获取Android应用程序包清单的Gradle任务,android,android-gradle-plugin,build.gradle,android-manifest,android-app-bundle,Android,Android Gradle Plugin,Build.gradle,Android Manifest,Android App Bundle,当我们构建一个android项目时,会生成多个清单。以下是的屏幕截图: 构建我的应用程序的目录 在这里,如果看到,我们可以观察到3个目录,即 包裹舱单 即时应用程序清单 合并舱单 现在我观察到,在构建Android应用程序捆绑包时,它使用捆绑包\u清单。在APK的情况下,它使用合并的_清单。我有一个代码,我正在通过构建中的任务注入清单中。格雷德尔档案。现在我可以使用manifestOutputDirectory获取清单目录路径(即合并的清单)。但是我找不到类似的Gradle任务来定位bun

当我们构建一个android项目时,会生成多个清单。以下是的屏幕截图:

构建我的应用程序的目录

在这里,如果看到,我们可以观察到3个目录,即

  • 包裹舱单

  • 即时应用程序清单

  • 合并舱单

现在我观察到,在构建Android应用程序捆绑包时,它使用捆绑包\u清单。在APK的情况下,它使用合并的_清单。我有一个代码,我正在通过构建中的任务注入清单中。格雷德尔档案。现在我可以使用manifestOutputDirectory获取清单目录路径(即合并的清单)。但是我找不到类似的Gradle任务来定位bundle\u Manifest目录中存在的清单

有人能帮我找到捆绑清单目录的路径吗?

例如:

def manifestOutputDirectory = rootProject.getProjectDir().getAbsolutePath() +
"/${project.name}/build/intermediates/bundle_manifest/release/processReleaseManifest/bundle-manifest"
但是“我有一个通过任务注入清单的代码”听起来很奇怪


正确的方法可能是使用。

只有当我们的应用程序只有单一风格时,上述方法才有效。我们基于该地区构建了多种风格的应用程序。关于“通过任务注入我的清单”,我正在通过gradle文件动态生成深度链接,因为我需要支持大约35-40个深度链接,现在每个深度链接应该可以用于多种语言(每种语言的url都有变化)。由于每次添加新语言时列表都会增加,所以我想动态处理。现在manifestplaceholder可以替换为manifest中的值,但在这种情况下它不起作用。上面的链接可以给你一个更好的主意。只需定义每种口味的占位符;当删除所有的线包装,这不是那么糟糕。不要认为可以通过
resConfig
完成此操作。