在Android Gradle Build中禁用清单合并

我正在使用新的gradle android构build系统。

该项目由两个android库项目和一个主要项目组成。

使用ant构build,必须在project.properties中启用清单合并。 但是,在使用gradle构build系统时,默认情况下启用清单合并。 我如何禁用清单合并?

Solutions Collecting From Web of "在Android Gradle Build中禁用清单合并"

编辑:这实际上是可能的,尽pipe间接地,从0.3开始

你需要做的是禁用processManifest任务,使其不运行,并告诉processResources清单使用的是:

android.applicationVariants.all { variant -> variant.processResources.manifestFile = file('src/main/AndroidManifest.xml') variant.processManifest.enabled=false } 

请注意,如果您要通过DSL自定义应用程序包名称,则应该在默认位置保持默认清单不变,以便为R类提供一致的包名称,然后将手动合并的清单指向其他位置并指向每个变体processResources任务给他们。

这可能有帮助。

  android.applicationVariants.all{ variant -> variant.outputs.each { output -> output.processResources.manifestFile = file('AndroidManifest.xml') output.processManifest.enabled=false } } 

对于0.6。+插件,您还必须从buildVariants更改为applicationVariants

 android.applicationVariants.all { variant -> variant.processResources.manifestFile = file('src/main/AndroidManifest.xml') variant.processManifest.enabled=false } 

对于0.5。+插件,您必须从以下each更改为:

 android.buildVariants.all { variant -> variant.processResources.manifestFile = file('src/main/AndroidManifest.xml') variant.processManifest.enabled=false } 

它看起来不像这些解决scheme适用于1.0插件:

在com.android.build.gradle.internal.api.ApplicationVariantImpl_Decorated@774f1d0b找不到属性'processResources'。

任何人有更新? 我们的问题是来自recyclerview-v7:21.0.3的最终apk中出现的stream浪活动:

 <activity android:label="RecyclerViewTestActivity" android:name="android.support.v7.widget.TestActivity"/> 

更新:它看起来像清单合并可以configuration(请参阅http://tools.android.com/tech-docs/new-build-system/user-guide/manifest-merger )。 在这种特定情况下,来自recyclerview-v7库的TestActivity可以通过以下方式删除:

 <activity android:name="android.support.v7.widget.TestActivity" android:label="RecyclerViewTestActivity" tools:node="remove"/> 

谢谢菲利普 。