J'utilise les bibliothèques leanback, qui nécessitent Android 17 ou une version ultérieure. Cependant, mon application prend en charge un minSDK de 16, donc je reçois une erreur de construction de Gradle disant
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
Quand je regarde la documentation des outils de construction , je vois comment ajouter le overrideLibrary
marqueur à mon manifeste, mais le problème est que je déclare mon minSdk dans mon fichier gradle au lieu de dans mon manifeste.
Comment utiliser overrideLibrary
lorsque le minSdk est déclaré dans build.gradle au lieu de dans AndroidManifest.xml?
android
gradle
android-tv
emmby
la source
la source
Réponses:
Ouvrir Android Studio -> Ouvrir le fichier manifeste
ajouter
<uses-sdk tools:overrideLibrary="android.support.v17.leanback"/>
n'oubliez pas d'inclurexmlns:tools="http://schemas.android.com/tools"
aussi, avant la<application>
balisela source
tools:overrideLibrary="info.hoang8f.fbutton"
<uses-sdk tools:ignore="GradleOverrides">
. Cela entraînera l'ignorance de votretools:overrideLibrary
attribut. Voir stackoverflow.com/questions/31062893/…peu importe que vous déclariez votre minSdk dans build.gradle. Vous devez copier
overrideLibrary
dans votreAndroidManifest.xml
, comme indiqué ici .Le système ignore automatiquement la version sdk déclarée dans AndroidManifest.xml.
J'espère que cela résoudra votre problème.
la source
J'étais confronté au problème de conflit entre les différentes versions de min sdk. Cette solution a donc fonctionné pour moi.
la source
Comme la bibliothèque l'exige,
minSdkVersion 17
vous pouvez changer la même chose dans lebuild.gradle
fichier (Module: Application):et après cette construction, le projet ne devrait pas générer d'erreur de construction.
la source
Je viens de changer
minSdkVersion="7"
dansC:\MyApp\platforms\android\CordovaLib\AndroidManifest.xml
et cela a fonctionné.Pas:
C:\MyApp\platforms\android\CordovaLib\AndroidManifest.xml
<uses-sdk android:minSdkVersion="7"/>
Commande Ran dans la nouvelle invite cmd:
C:\MyApp>phonegap build android --debug [phonegap] executing 'cordova build android --debug'... [phonegap] completed 'cordova build android --debug'
la source
overrideLibrary
lorsque le minSdk est déclaré dans build.gradle.vient de changer seulement android: minSdkVersion = "16" et son travail est parfait C: \ MyApp \ plates-formes \ android \ CordovaLib \ AndroidManifest.xml
la source
utilisez ce code dans manifest.xml
la source
En tant que soulution pour toutes les bibliothèques, nous pouvons faire correspondre la version sdk d'entre elles afin qu'aucun événement inattendu ne puisse se produire
Supprimez les bibliothèques que vous n'utilisez pas dans votre projet (gms) et assurez-vous que la version sdk correspond aux données de niveau de votre application
la source