Gradle: How to merge Android manifest files for different buildTypes which need the same Activity, but with different intent-filters

action, android-manifest, build, gradle, intentfilter

Solution

It's not possible to merge the intent-filter separately at the moment so I would recommend copying the whole `<activity>` node into

src/buildtype1/AndroidManifest.xml

and

src/buildtype2/AndroidManifest.xml

and it'll get merged automatically into the final manifest (of course you also want to remove it from the main manifest).

Problem

so I'm trying to use gradle to create a separate buildType, but that buildType needs to use different characteristics for the same Activity. In this case, my splash activity needs a different intent-filter depending on buildType. Is this possible? I get the following error in gradle: ``` :Tinder:processUtestManifest [AndroidManifest.xml:67, AndroidManifest.xml:38] Trying to merge incompatible /manifest/application/activity[@name=com.<company_name>.activities.ActivitySplash] element: <activity @android:name="com.<company_name>.activities.ActivitySplash" <intent-filter> <action -- @android:name="android.intent.action.MAIN"> <activity @android:name="com.<company_name>.activities.ActivitySplash" <intent-filter> <action ++ @android:name="com.apphance.android.LAUNCH"> ```

Original source