webentwicklung-frage-antwort-db.com.de

Wie verwende ich Tools: overrideLibrary in einer build.gradle-Datei?

Ich verwende die Leanback-Bibliotheken, für die Android 17 oder höher erforderlich ist. Meine App unterstützt jedoch eine minSDK von 16, daher bekomme ich einen Build-Fehler von Gradle-Sage

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

Wenn ich mir die Dokumentation der build tools ansehe, sehe ich, wie ich die overrideLibrary-Markierung zu meinem Manifest hinzufüge. Das Problem ist jedoch, dass ich meine minSdk in meiner Gradle-Datei und nicht in meinem Manifest deklariere.

Wie verwende ich overrideLibrary, wenn minSdk in build.gradle und nicht in AndroidManifest.xml deklariert ist?

257
emmby

Öffnen Sie Android Studio -> Manifestdatei öffnen 

add <uses-sdk tools:overrideLibrary="Android.support.v17.leanback"/> Vergessen Sie nicht, auch xmlns:tools="http://schemas.Android.com/tools" vor dem <application>-Tag anzugeben

enter image description here

495
xDragonZ

es spielt keine Rolle, dass Sie Ihre minSdk in build.gradle deklarieren. Sie müssen overrideLibrary in Ihren AndroidManifest.xml kopieren, wie dokumentiert hier .

<manifest 
    ... >
<uses-sdk tools:overrideLibrary="com.example.lib1, com.example.lib2"/>
    ...
</manifest>

Das System ignoriert automatisch die in AndroidManifest.xml deklarierte sdkVersion.

Ich hoffe das löst dein Problem.

152
icastell
<manifest xmlns:tools="http://schemas.Android.com/tools" ... >
  <uses-sdk tools:overrideLibrary="nl.innovalor.ocr, nl.innovalor.corelib" />

Ich war mit dem Problem eines Konflikts zwischen verschiedenen min. Sdk-Versionen konfrontiert. Diese Lösung hat also für mich funktioniert.

4
Kuldeep Saxena

Ich habe gerade minSdkVersion="7" in C:\MyApp\platforms\Android\CordovaLib\AndroidManifest.xml geändert und es hat funktioniert.

Schritte:

  1. Pfad: C:\MyApp\platforms\Android\CordovaLib\AndroidManifest.xml 
  2. Wert: <uses-sdk Android:minSdkVersion="7"/> 
  3. Befehl in neuer cmd-Eingabeaufforderung ausgeführt:

    C:\MyApp>phonegap build Android --debug [phonegap] executing 'cordova build Android --debug'... [phonegap] completed 'cordova build Android --debug'

Da die Bibliothek minSdkVersion 17 benötigt, können Sie dasselbe in build.gradle (Modul: Anwendung) Datei ändern:

defaultConfig {
        minSdkVersion 17 
        targetSdkVersion 25
}

und danach sollte das Projekt keinen Buildfehler auslösen.

1
Arpit Namdev

nur Android geändert: minSdkVersion = "16" und es funktioniert perfekt C:\MyApp\platform\Android\CordovaLib\AndroidManifest.xml

0
BIRJA KUMAR

verwenden Sie diesen Code in manifest.xml

<uses-sdk
Android:minSdkVersion="16"
Android:maxSdkVersion="17"
tools:overrideLibrary="x"/>
0
ali bagheri