Estoy usando las bibliotecas leanback, que requieren Android 17 o posterior. Sin embargo, mi aplicación admite un minSDK de 16, así que recibo un error de compilación de Gradle diciendo
Error:Execution failed for task ':Tasks:processPhoneDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 16 cannot be smaller than version 17 declared in library /Users/mike/Projects/android-for-dummies-v3/Tasks/build/intermediates/exploded-aar/com.android.support/leanback-v17/21.0.2/AndroidManifest.xml
Suggestion: use tools:overrideLibrary="android.support.v17.leanback" to force usage
Cuando miro la documentación de las herramientas de compilación , veo cómo agregar el overrideLibrary
marcador a mi manifiesto, pero el problema es que estoy declarando mi minSdk en mi archivo gradle en lugar de en mi manifiesto.
¿Cómo uso overrideLibrary
cuando el minSdk se declara en build.gradle en lugar de en AndroidManifest.xml?
android
gradle
android-tv
emmby
fuente
fuente
Respuestas:
Abra Android Studio -> Abrir archivo de manifiesto
agregar
<uses-sdk tools:overrideLibrary="android.support.v17.leanback"/>
no olvide incluirxmlns:tools="http://schemas.android.com/tools"
también, antes de la<application>
etiquetafuente
tools:overrideLibrary="info.hoang8f.fbutton"
<uses-sdk tools:ignore="GradleOverrides">
. Esos harán que sutools:overrideLibrary
atributo sea ignorado. Ver stackoverflow.com/questions/31062893/…no importa que declares tu minSdk en build.gradle. Tiene que copiar
overrideLibrary
en suAndroidManifest.xml
, como se documenta aquí .El sistema ignora automáticamente la sdkVersion declarada en AndroidManifest.xml.
Espero que esto resuelva tu problema.
fuente
Estaba enfrentando el problema del conflicto entre diferentes versiones de min sdk. Entonces esta solución funcionó para mí.
fuente
Como la biblioteca lo requiere
minSdkVersion 17
, puede cambiar lo mismo en elbuild.gradle
archivo (Módulo: Aplicación):y después de esa compilación, el proyecto no debería arrojar ningún error de compilación.
fuente
Acabo de cambiar
minSdkVersion="7"
enC:\MyApp\platforms\android\CordovaLib\AndroidManifest.xml
y funcionó.Pasos:
C:\MyApp\platforms\android\CordovaLib\AndroidManifest.xml
<uses-sdk android:minSdkVersion="7"/>
Comando Ran en el nuevo indicador de cmd:
C:\MyApp>phonegap build android --debug [phonegap] executing 'cordova build android --debug'... [phonegap] completed 'cordova build android --debug'
fuente
overrideLibrary
cuando el minSdk se declara en build.gradle.acaba de cambiar solo android: minSdkVersion = "16" y funciona perfectamente C: \ MyApp \ plataformas \ android \ CordovaLib \ AndroidManifest.xml
fuente
use este código en manifest.xml
fuente
Como soulution para todas las bibliotecas, podemos hacer coincidir la versión SDK de ellas para que no ocurra ningún evento inesperado
Elimine las bibliotecas que no usa en su proyecto (gms) y asegúrese de que la versión SDK coincida con los datos de Gradle de su nivel de aplicación
fuente