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, je reçois donc une erreur de construction de Gradle en 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
Lorsque je regarde la documentation build tools , je vois comment ajouter le marqueur overrideLibrary
à mon manifeste, mais le problème est que je déclare mon minSdk dans mon fichier Gradle plutôt que dans mon manifeste.
Comment utiliser overrideLibrary
lorsque le minSdk est déclaré dans build.gradle plutôt que dans AndroidManifest.xml?
Ouvrir Android Studio -> Ouvrir le fichier manifeste
ajouter <uses-sdk tools:overrideLibrary="Android.support.v17.leanback"/>
n'oubliez pas d'inclure aussi xmlns:tools="http://schemas.Android.com/tools"
, avant la balise <application>
peu importe que vous déclariez votre minSdk dans build.gradle. Vous devez copier overrideLibrary
dans votre AndroidManifest.xml
, comme indiqué dans la documentation ici .
<manifest
... >
<uses-sdk tools:overrideLibrary="com.example.lib1, com.example.lib2"/>
...
</manifest>
Le système ignore automatiquement la sdkVersion déclarée dans AndroidManifest.xml.
J'espère que cela résoudra votre problème.
<manifest xmlns:tools="http://schemas.Android.com/tools" ... >
<uses-sdk tools:overrideLibrary="nl.innovalor.ocr, nl.innovalor.corelib" />
Je faisais face au problème du conflit entre différentes versions de min sdk . Donc, cette solution a fonctionné pour moi.
Je viens de changer minSdkVersion="7"
dans C:\MyApp\platforms\Android\CordovaLib\AndroidManifest.xml
et cela a fonctionné.
Pas:
C:\MyApp\platforms\Android\CordovaLib\AndroidManifest.xml
<uses-sdk Android:minSdkVersion="7"/>
Commande exécutée dans la nouvelle invite de commande:
C:\MyApp>phonegap build Android --debug
[phonegap] executing 'cordova build Android --debug'...
[phonegap] completed 'cordova build Android --debug'
Comme la bibliothèque requiert minSdkVersion 17
, vous pouvez modifier la même chose dans le fichier build.gradle
(Module: Application):
defaultConfig {
minSdkVersion 17
targetSdkVersion 25
}
et après cette construction, le projet ne devrait générer aucune erreur de construction.
vient de changer seulement Android: minSdkVersion = "16" et son travail est parfait C:\MyApp\plates-formes\Android\CordovaLib\AndroidManifest.xml
utiliser ce code dans le fichier manifest.xml
<uses-sdk
Android:minSdkVersion="16"
Android:maxSdkVersion="17"
tools:overrideLibrary="x"/>