У меня есть следующие модули внутри моего проекта, для которых я не могу заставить Gradle правильно объединить манифесты Android:
myproject_alpha
myproject_beta
myproject_lib
myproject_release
Модуль *_lib — это основной модуль проекта, содержащий весь исходный код. Остальные 3 модуля представляют собой «модули-оболочки», которые вносят небольшие изменения в параметр «полномочия» поставщиков контента, изменяют поле «данные» внутри фильтра намерения действия, указанного в манифесте модуля *_lib, а также включают некоторые другие действия, отсутствующие в модуль myproject_release.
В настоящее время у меня есть ошибки слияния манифеста Android между альфа-версией (или бета-версией, или выпуском) и lib. Например, между 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: как объединить файлы манифеста Android для разных типов сборки, которым требуется одно и то же действие, но с разными фильтрами намерений. Однако на самом деле это не соответствует моей проблеме, потому что в моем случае «lib» и «alpha» являются взаимозависимыми модулями, а не разными сборками. Буду признателен за отзыв.