繁体   English   中英

将android manifest merger作为独立应用程序运行

[英]Run android manifest merger as a stand-alone application

我有很多模块的Ant项目。 我正在尝试将一些模块合并为更大的模块并减少它们的数量。

我可以将android manifest merger作为独立应用程序运行并合并指定为参数的清单吗?

例如,我有模块: ABCDE

我需要[A][B]成为[AB]模块, [C][D][E]成为[CDE]

我需要这个,因为我正在编写Python脚本,这将有助于迁移到Gradle 脚本将扫描目录,并使用所有文件,复制的类和资源创建新项目。 我希望它是普遍的。

好的,我想回答我自己的问题。

manifest-merger是放在ANDROID_HOME/tools/lib/manifest-merger.jar java

要使用jar作为独立应用程序,我从google platform tools git clone --depth=1 https://android.googlesource.com/platform/tools/base项目: git clone --depth=1 https://android.googlesource.com/platform/tools/base

Manifst-Merger源代码位于base/build-system/manifest-merger

您也可以在grepcode上找到代码。

我将代码解压缩到maven项目中,解决了所有外部依赖项并创建了可以克隆并作为独立应用程序使用的项目:

https://github.com/Bresiu/android-manifest-merger

用法:

  1. git clone git@github.com:Bresiu/android-manifest-merger.git

  2. mvn install

  3. java -jar target/manifest-merger-jar-with-dependencies.jar --main mainAndroidManifest.xml --log [VERBOSE, INFO, WARNING, ERROR] --libs [path separated list of lib's manifests] --overlays [path separated list of overlay's manifests] --property [PACKAGE | VERSION_CODE | VERSION_NAME | MIN_SDK_VERSION | TARGET_SDK_VERSION | MAX_SDK_VERSION=value] --placeholder [name=value] --out [path of the output file]

  4. 我使用过这个库如下:

java -jar target/manifest-merger-jar-with-dependencies.jar --main <path_to_main_manifest> --libs <path_to_libs_manifests_divided by ':'> --out <output_manifest> --log WARNING

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM