【发布时间】:2014-02-09 23:13:32
【问题描述】:
我的项目中有以下模块,我无法让 Gradle 正确合并 Android 清单:
myproject_alpha
myproject_beta
myproject_lib
myproject_release
*_lib 模块是包含所有源代码的项目的主模块。其他 3 个模块是“包装模块”,它们对内容提供者的“权限”参数进行轻微修改,更改 *_lib 模块清单中指定的活动意图过滤器内的“数据”字段,并启用一些其他活动myproject_release 模块。
目前,我在 alpha(或 beta 或发布)与 lib 之间存在 gradle Android manifest 合并错误。例如,在 lib 和 alpha 之间,我看到以下 2 个 gradle 错误:
Trying to merge incompatible /manifest/application/provider[@name=com.myproject.contentprovider.MyProvider] element:
<provider
-- @android:authorities="com.myproject.alpha.provider"
<provider
++ @android:authorities="com.myproject.lib.provider"
:myproject_alpha:processDebugManifest FAILED
Trying to merge incompatible /manifest/application/activity[@name=com.myproject.activity.LoginActivity] element:
<activity
@android:name="com.myproject.activity.LoginActivity"
@android:name="android.intent.action.MAIN">
@android:name="android.intent.category.LAUNCHER">
<intent-filter>
@android:name="android.intent.action.VIEW">
@android:name="android.intent.category.BROWSABLE">
@android:name="android.intent.category.DEFAULT">
<data
-- @android:host="myhost.test.com"
<activity
@android:name="com.myproject.LoginActivity"
@android:name="android.intent.action.MAIN">
@android:name="android.intent.category.LAUNCHER">
<intent-filter>
@android:name="android.intent.action.VIEW">
@android:name="android.intent.category.BROWSABLE">
@android:name="android.intent.category.DEFAULT">
<data
++ @android:host="myhost.com"
:myproject_alpha:processDebugManifest FAILED
我发现的唯一类似问题是
Gradle: How to merge Android manifest files for different buildTypes which need the same Activity, but with different intent-filters。但是,它并不真正符合我的问题,因为在我的情况下,“lib”和“alpha”是相互依赖的模块而不是不同的构建。我会很感激一些反馈。
【问题讨论】:
标签: android-studio android-gradle-plugin