Manifest Merger Failed with Multiple Errors in Android Studio

Manifest Merger failed with multiple errors in Android Studio

Open application manifest (AndroidManifest.xml) and click on Merged Manifest tab on bottom of your edit pane. Check the image below:

Sample Image

From image you can see Error in the right column, try to solve the error. It may help some one with the same problem. Read more here.

Also, once you found the error and if you get that error from external library that you are using, You have to let compiler to ignore the attribute from the external library.
//add this attribute in application tag in the manifest

   tools:replace="android:allowBackup" 

//Add this in the manifest tag at the top

xmlns:tools="http://schemas.android.com/tools"

Manifest Merger failed with multiple errors in Android Studio for react native

As the message have stated, property android:exported must be defined for an component that has an intent filter

<?xml version="1.0" encoding="utf-8"?>
<manifest>
<application>
<activity
android:name=".MainActivity"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>

Manifest merger failed with multiple errors | Android 12 and higher are required to specify an explicit value for `android:exported`

Your libraries are defining probably an "intent_filter" on an activity

debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.5.4'
releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:1.5.4'

If your application is targeting API 31+, the attribute "exported" is mandatory.

So as the developer of that library didn't target API 31, the exported flag what not mandatory on his side. And he built it without exported attribute.

So what you can do, is redefine that specific class on your manifest to declare it explicitly exported or not. For example :

<activity android:name="com.squareup.leakcanary.internal.DisplayLeakActivity"
android:exported="true"/>

Manifest merger failed with multiple errors , android

It looks like you are using the wrong config:

Since WorkManager 2.6, App Startup is used internally within WorkManager. To provide a custom initializer you need to remove the androidx.startup node.

<!-- If you want to disable android.startup completely. -->
<provider
android:name="androidx.startup.InitializationProvider"
android:authorities="${applicationId}.androidx-startup"
tools:node="remove">
</provider>

https://developer.android.com/topic/libraries/architecture/workmanager/advanced/custom-configuration#remove-default



Related Topics



Leave a reply



Submit