LibGDX — Manifest merger failed

LibGDX es una potente herramienta, porque como muchos framework te permite con el mismo código, en este caso Java, generar Aplicación Android, Web, iOS, y de Escritorio.
La característica que siempre me llamó la atención es poder hacer debug con las herramientas clásicas de escritorio, si trabajaste con Java antes se vuelve totalmente natural.
A veces se puede volverse frustrante cuando una persona no puede compilar al menos el ejemplo que trae al crear el proyecto.
Depende las herramientas que hayas incluido en tu proyecto puede que te aparezca el siguiente error:
Error: Execution failed for task ‘:android:processDebugManifest’.
> Manifest merger failed : uses-sdk:minSdkVersion 8 cannot be smaller than version 15 declared in library [name.of.library]
[…]
Suggestion: use tools:overrideLibrary=”name.of.library” to force usage
Esto se debe a que hay diferentes requerimientos de API levels en distintos JARs, se soluciona agregando en el AndroidManifest.xml (android/manifests/AndroidManifest.xml)
Lo que se agrega o cambia es lo resaldado en negrita:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="my.app.package.name"
android:versionCode="1"
android:versionName="1.0"
xmlns:tools="http://schemas.android.com/tools">
<uses-sdk android:minSdkVersion="15" android:targetSdkVersion="24"
tools:overrideLibrary="de.tomgrill.gdxdialogs.android, de.tomgrill.gdxfacebook.android, com.facebook, android.support.customtabs"/>
Este tools:override está listando todas las herramientas que necesitan override para LibGDX, esto no significa que vos necesites todas, debes ir agregando las que te impidan compilar van a ir saliendo los “name.of.library” (ver ejemplo de error).
Este tools:override es parte de ManifestMerger, para más información acerca del ManifestMerger aquí.
Namasté.