Recommended Free Tools
The message “Manifest merger failed with multiple errors, see logs” is only a summary; it does not identify the conflict. Read the detailed build errors, then use Android Studio’s Merged Manifest view to locate the element or attribute, see which manifest supplied it, and decide which value matches your app’s intended behavior before changing anything.
What the manifest merger does
An Android project can contain multiple manifest files: for example, manifests for the app’s build variants and source sets, the app module’s main manifest, and manifests supplied by imported libraries. During a build, Gradle combines those inputs into one AndroidManifest.xml for the APK or Android App Bundle. The generic failure message means that the merge encountered errors; it does not, by itself, say what they are. Android’s manifest documentation explains the merge process and how to inspect it.
As an Amazon Associate I earn from qualifying purchases.
Find the specific merger error
- Expand the build failure. In Android Studio’s Build output, inspect the detailed merger errors instead of stopping at “Manifest merger failed with multiple errors, see logs.” Look for the specific element or attribute named by the error and the explanation of the conflict. Android’s Android 11 package-visibility example illustrates how the detailed error can be more informative than the summary.
- Open the Merged Manifest view. Open the app module’s manifest and select the Merged Manifest view in Android Studio. Find the reported element or attribute, then trace its contributing declaration to the source manifest.
- Check the variant that actually failed. Identify the active build variant and its source sets, the app module’s main manifest, and the imported libraries involved. Different variants can contribute different manifest entries, so a manifest for another variant may not explain this build’s failure.
- Choose a targeted correction. Change the declaration that is wrong for the app, adjust a relevant dependency declaration where appropriate, or use a merge marker in a higher-priority manifest when the intended result calls for it.
- Inspect the merged result again. After making a change, rebuild and verify in Merged Manifest that the resulting element and attributes reflect the behavior you intend.
How to decide which declaration should win
Merge priority depends on where a declaration comes from. Android documents build-variant manifests above the app module’s main manifest, and library manifests below the app’s manifests. When multiple libraries contribute declarations, their ordering follows the app’s dependencies block. The active variant therefore matters when tracing a conflict; do not assume the main manifest is the only relevant input. Android’s manifest-merger documentation describes the priority rules.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallCrashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minute- Trace the source: establish whether the declaration came from the active variant or source set, the main app manifest, or a library.
- Check the intended behavior: two values that differ are not necessarily interchangeable. Keep the value or element that is correct for the app rather than choosing a declaration merely to make the build pass.
- Check build configuration: some values, including
minSdk, can be controlled by Gradle configuration and may override the equivalent manifest value. Inspect the relevant build configuration as well as the merged manifest.
Use merge markers only for an intentional outcome
Merge markers use the tools namespace. Before using one, declare that namespace on the root <manifest> element:
#1 Best Overall
<manifest xmlns:tools="http://schemas.android.com/tools">
Android supports markers that remove or replace manifest nodes, as well as markers that target selected attributes. The right marker depends on the particular conflict and the result the app needs. A marker can alter the packaged manifest, so applying one mechanically may silence an error while leaving the app with an unintended declaration. Use the Merged Manifest view after the change to confirm exactly what remains.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.When an Android Gradle Plugin version may matter
An outdated Android Gradle Plugin (AGP) can be relevant when the detailed error points to a manifest element or feature the build tools do not support, but it is not a general explanation for every merger failure. Check the feature’s requirements and the project’s AGP version before changing the plugin.
Rank #2
For context, an Android Developers Blog post published in 2020 about Android 11 package visibility said that Android Gradle Plugin 4.1+ supported the new <queries> declaration. That historical example applies to the Android 11 package-visibility change; it does not show that upgrading AGP is the fix for an unrelated conflict. Read the original Android Developers post.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Quick Recap
If the generic error is all you can see
- Expand the build output or open the available build logs to reveal the merger’s detailed messages.
- Confirm which app module and build variant failed; inspect that variant’s manifest inputs.
- In Merged Manifest, trace the reported entry back to the manifest that contributed it.
- If the error concerns a value such as
minSdk, check whether Gradle build configuration controls it. - If the error identifies an unsupported element, verify the AGP version and that element’s requirements rather than assuming a general merger problem.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




