- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我有一个包含许多模块的 Ant
项目。我正在尝试将一些模块合并成更大的模块并减少它们的数量。
我可以将 android manifest merger
作为独立应用程序运行并合并指定为参数的 list 吗?
例如我有模块:A、B、C、D、E
我需要[A]、[B]成为[AB]模块,并且[C]、[D]、[E] 成为 [CDE]
我需要这个,因为我正在编写 Python
脚本,这将有助于迁移到 Gradle
。脚本将扫描目录,并使用所有文件、复制的类和资源创建新项目。我希望它是通用的。
最佳答案
好吧,我想回答我自己的问题。
manifest-merger
是java
图书馆放在ANDROID_HOME/tools/lib/manifest-merger.jar
使用jar
作为独立应用程序,我从 google platform tools
克隆了项目存储库: 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
用法:
git clone git@github.com:Bresiu/android-manifest-merger.git
mvn install
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]
我使用这个库如下:
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
关于android - 作为独立应用程序运行 android manifest merger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36030746/
我有一个统一项目我正在将该项目导出为 android studio 项目,同时打开 android studio 项目我收到此错误 Gradle sync failed: Could not find
在 ionic3 中生成构建后,我遇到了上述错误我尝试了很多解决方案但没有奏效,请告诉我,任何人,如何解决上述错误? 下面我必须包含//Project-properties 文件。 我尝试了以下解决方
升级到 gradle 4.4 后: gradle-wrapper.properties distributionUrl=https\://services.gradle.org/distributio
我是 Android Studio 的新手,正在尝试将一个相当旧的项目从 Eclipse 导入 Android Studio。我遇到了可怕的错误: Error:Execution failed for
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,
找不到 manifest-merger.jar (com.android.tools.build:manifest-merger:26.1.0)。在以下位置搜索: https://jcenter.bi
我有一个包含许多模块的 Ant 项目。我正在尝试将一些模块合并成更大的模块并减少它们的数量。 我可以将 android manifest merger 作为独立应用程序运行并合并指定为参数的 list
我创建了一个从 Youtube 下载视频和声音的脚本,然后将声音和视频与 ffmpeg 合并,我想知道另一种方法可以更快地获得相同的结果吗?因为这个脚本大约需要 7 分钟 ~ 取决于视频质量和持续时间
当我在 gredle 中添加实现“net.gotev:3.5.2”并构建项目时,它说 Manifest merger failed : Attribute application@appCompone
我有一个项目显示一些 Manifest merge failed 错误。我尝试了很多解决方案,包括迁移到 androidx,但该项目正在使用一些库,这些库在迁移到 androidx 时显示错误,因此我
我一直看到这条消息,不知道如何解决它。 Error:(43, 9) Attribute application@icon value=(@drawable/new_app_icon) from And
我们目前正在尝试将我们的系统更新到最新的 Android Studio/Gradle 工具,并且在途中遇到了一些错误。 我们确实有 2 个库使用 permission.C2D_MESSAGE,即 Fi
当我在终端中运行命令 react-native run-android 时(React-Native),我收到下面提到的错误。 Manifest merger failed : Attribute a
我正在尝试使用命令“tns debug android”调试我的 Nativescript 应用程序,但构建过程始终失败。错误堆栈跟踪: Attribute application@appCompon
我一直在使用这段代码从 Manifest 文件中删除我不想要的权限,但是对于新的 Merger,这是不可能的,而且我不具备 gradle 的知识来修改它。 applicationVariants.al
尝试包含 Google Play 服务位置库时,出现以下错误: Error:Execution failed for task ':app:processDebugManifest'. > Manif
这个问题已经有答案了: Manifest merger failed : Attribute application@appComponentFactory - Androidx (14 个回答) 已
我将 'com.stripe:stripe-android:8.5.0' 实现到我的应用程序 gradle 中,然后我在尝试构建我的项目时遇到以下错误: Manifest merger failed
当从构建菜单生成签名的 APK 时,我最终得到了新文件 app/manifest-merger-release-report.txt。这个文件是什么,它应该是版本控制的(比如 ProGuard 的 m
尝试在我的 Android 项目上安装 OneSignal 的 SDK 后,我注意到在编译时一直发生错误,这阻止了我开始使用该服务。 我的 build.grade(Module:app) 文件:
我是一名优秀的程序员,十分优秀!