如何将动态创建的.xml文件与主AndroidManifest.xml合并

时间:2018-11-30 14:12:51

标签: android android-manifest

我正在开发一个android应用程序,并制作了一个脚本,该脚本可以基于某些值动态生成.xml文件。它生成的内容是一堆<intent-filter>元素。

生成文件后,我想使用android的AndroidManifest-merging将其合并到我的主AndroidManifest.xml中

网络上的各种文档指出,可以通过使用不同的构建类型/风味/ etc或将清单包含在其自己的模块中来合并(因为依赖项中的清单将始终合并到主清单中)。 / p>

问题是我不想使用不同的构建类型/风格,我希望将此文件在所有构建类型中合并到AndroidManifest.xml中。所以我的想法是:

  1. 在项目中的某个位置创建一个AndroidManifest.xml文件
  2. 向其中写入内容
  3. 使android合并清单,就像将清单放在其中一个build-type-folders中一样。

我的问题是这是否真的可能?如果是这样,我将创建的manifest.xml文件放在项目结构中的什么位置,如何使android将它们合并?

我想到的文件结构:

- android
| - app
|   - src
|     - main
|       - AndroidManifest.xml (main)
|     - someFolderName
|       - AndroidManifest.xml (my generated one)

我猜一个解决方案可能是为该项目创建一个单独的模块,该模块仅包含我要合并的AndroidManifest.xml文件,但我希望我的最初想法是可能的,因为它看起来更简单,更简洁

1 个答案:

答案 0 :(得分:1)

解决方案是在主项目中创建一个单独的模块/项目。新的模块/项目应仅负责生成动态创建的xml并将其写入自己的AndroidManifest.xml。这将使该应用在构建时自动将子模块中的所有AndroidManifest与主AndroidManifest.xml合并。