Seit dem Herunterladen des neuesten SDK und der Installation von Android Studio kann mein Projekt nicht erstellt werden. Ich erhalte die folgende Nachricht:
Error:Gradle: Execution failed for task ':SampleProject:processProdDebugManifest'.
> Manifest merger failed : uses-sdk:minSdkVersion 14 cannot be smaller than version L declared in library com.android.support:support-v4:21.0.0-rc1
Antworten:
Hinweis: Dies wurde aktualisiert, um die Veröffentlichung von API 21, Lollipop, widerzuspiegeln. Stellen Sie sicher, dass Sie das neueste SDK herunterladen.
In einem meiner Module hatte ich Folgendes in build.gradle:
Ändern Sie dies in
Das Problem wurde behoben.
com.android.support:support-v4:+
Stellen Sie sicher, dass Sie nirgendwo in Ihrem Projekt eine allgemeine Einbeziehung oder andere Unterstützungsbibliotheken (v7, v13, appcompat usw.) vornehmen.Ich würde annehmen, dass das Problem darin besteht
v4:+
, die neueste L-Version desRelease Candidate (21.0.0-rc1) aufzunehmen, für die offensichtlich das L SDK erforderlich ist.Bearbeiten:
Wenn Sie die neuen Ansichten (CardView, RecyclerView und Palette) verwenden müssen, sollte Folgendes funktionieren:
(Dank an EddieRingle unter / androiddev - http://www.reddit.com/r/androiddev/comments/297xli/howto_use_the_v21_support_libs_on_older_versions/ )
Noch eine Bearbeitung
Lesen Sie unten die Antwort von @ murtuza zu appcompat-v7 und stimmen Sie ab, wenn es hilft!
quelle
Wenn Sie die appcompat-v7-Bibliothek importieren, stellen Sie außerdem sicher, dass Sie am Ende eine Versionsnummer wie folgt kennzeichnen:
Nachdem ich nur die support-v4-Version geändert hatte, erhielt ich immer noch den Fehler:
Es war ein bisschen verwirrend, weil es so aussieht, als ob v4 immer noch das Problem ist, aber tatsächlich wurde das Problem durch die Einschränkung der Appcompat v7-Version behoben.
quelle
buildToolsVersion '20.0.0'
in meinerandroid{}
undcompile 'com.android.support:appcompat-v7:20.0+'
in meinerdependencies {}
war nicht dasselbe, also habe ich sie gleich gemacht (wie hier gezeigt).Lösung 1:
Ändern Uses-sdk zu
<uses-sdk tools:node="replace" />
und fügen Siexmlns:tools="http://schemas.android.com/tools"
inAndroidManifest.xml
Stellen Sie sicher, dass Sie Gradle 0.11 und höher verwenden, um die Manifest-Fusion zu verwenden.
Lösung 2:
Wechseln Sie
compile 'com.android.support:support-v4:+'
zucompile 'com.android.support:support-v4:20.+'
inbuild.gradle
. Dadurch wird verhindert, dass Gradlev4:21.0.0
die Version L verwendet.Wenn jedoch eine Ihrer externen Abhängigkeiten dieselbe verwendet. Sie müssen wahrscheinlich warten, bis sie dasselbe aktualisieren.
Lösung 3:
Entfernen / Kommentieren
<version>21.0.0-rc1</version>
in Ihrer Datei<android-sdk>/extras/android/m2repository/com/android/support-v4/maven-metadata.xml
Wiederholen Sie dies für support-v7
quelle
Funktioniert nicht mehr.
wechseln
uses-sdk
zuund fügen Sie
xmlns:tools="http://schemas.android.com/tools"
die Datei AndroidManifest.xml hinzuquelle
Das Problem tritt immer noch bei transitiven Abhängigkeiten auf. Gradle bietet eine Möglichkeit, die Verwendung einer bestimmten Version einer Abhängigkeit zu erzwingen.
Zum Beispiel können Sie etwas hinzufügen wie:
zu Ihrem build.gradle.
Weitere Informationen zu Gradle-Auflösungsstrategien finden Sie in diesem Handbuch unter http://www.gradle.org/docs/current/dsl/org.gradle.api.artifacts.ResolutionStrategy.html
Ich fand diese während der entsprechenden Ausgabe zu lesen , die ich verbinden werde hier
quelle
In der Datei build.gradle wurde standardmäßig 'com.android.support:support-v4:+' kompiliert. Wenn Sie also das Gradle-Projekt erstellen, wird com.android.support:support-v4:21.0.0-rc1 berücksichtigt wegen der jüngsten L-Entwickler-Vorschau.
Nehmen Sie in der folgenden Zeile Änderungen vor, um das Problem zu beheben. Veränderung
zu
Wenn Sie die Support-Bibliothek für v7-appcompat verwenden, nehmen Sie die Änderung von vor
compile 'com.android.support:appcompat-v7:+'
zu
quelle
Wenn Sie zu den oben genannten richtigen Antworten hinzufügen, kann das Problem aufgrund der Verschachtelung der Bibliothek weiterhin auftreten. Versuchen Sie in diesem Fall das folgende Beispiel:
quelle
Für Benutzer, die Hybrid-Apps mit Cordova CLI erstellen, hilft dieser Befehl:
Ja, es werden doppelte Doppelstriche verwendet, wie Sie es gesehen haben.
quelle
cordova run android
damit scheitert es.cordova-plugin-facebook4
. Wenn Sie es nicht kristallisieren, funktioniert es einwandfreicordova run android
. Leider habe ich nirgendwo eine Lösung dafür gefunden. Ich habe manuell versucht, dasminSdkVersion
selbst in das hinzuzufügenAndroidManifest
, wird aber überschrieben. Ich versuche immer noch, es herauszufinden.minSdk
Version in15
in geändert habeconfig.xml
. Die Zeile :<preference name="android-minSdkVersion" value="14" />
. Auf diese Weise wird dieAndroidManifest
Datei auch mit der neuen Version aktualisiert.Ich hatte auch das gleiche Problem und die folgenden Änderungen haben mir geholfen:
von:
zu:
quelle
Für Leute, die in der Android Studio Beta mit diesem Problem konfrontiert sind , hat die akzeptierte Antwort mein Problem nicht gelöst. Beim Importieren eines von GitHub heruntergeladenen Projekts hatte ich Folgendes in meiner build.gradle-App-Datei, dass ein Fehler in Frage kam:
Aber in meinem externen Bibliotheksordner habe ich diesen Ordner:
Ich habe das obige Problem gelöst, indem ich die Abhängigkeit geändert habe in:
Hinweis: Möglicherweise müssen Sie für einige Bibliotheken und Projekte auch eine niedrigere API-Version als die derzeit in Android Studio verfügbare herunterladen, damit dies ordnungsgemäß funktioniert.
quelle
Ich habe das Problem gelöst, indem ich die folgende Zeile in build.gradle bearbeitet habe und es funktioniert! :-)
Version 20 hinzufügen . + '
Von
Zu
quelle
v4
als auch diev7
Support-Dateien in die ändern musste:20.+
.Hat mir geholfen, von hier genommen
quelle
Sie müssen alle Unterstützungs- und Appcompat-Bibliotheken mit Version 19 konfigurieren. +
Wenn die Empfehlung, die Support-Bibliothek mit der Version 19. + zu verlassen, nicht funktioniert, können Sie den nächsten Tipp in Ihrer AndroidManifest-Datei ausprobieren.
Fügen Sie zuerst diesen Code hinzu:
Und dann auf Anwendungsebene (nicht innerhalb der Anwendung!)
quelle
Ich mache alle Lösungen hier ohne Ergebnis, also schaue ich an einen anderen Ort und habe einen Weg gefunden, die IDE auszutricksen. Sie müssen also eine Linie in das Mainfest einfügen, damit der Gradle eine andere verwendet, diejenige, die Sie setzen auf build.gradle die Linie ist:
nur es und es funktioniert.
Ich hoffe, es hilft.
quelle
xmlns:tools="http://schemas.android.com/tools"
<manifest>
Sie müssen aus build.gradle entfernen
compile 'com.android.support:support-v13:+'
quelle
Hier ist der neue Fehler, der übrigens für diesen https://code.google.com/p/android/issues/detail?id=72430 eingereicht wurde
Angenommen, Sie verwenden das Support-Repository, besteht die Problemumgehung darin, die Zeile zu kommentieren oder zu entfernen
21.0.0-rc1 in der lokalen Maven-Repo-Listendatei unter /extras/android/m2repository/com/android/support-v4/maven-metadata.xml
quelle
Für mich wird das Problem durch das Ändern der gelöst
Verwenden Sie in der Datei build.gladdle die in der Fehlermeldung angegebene Datei
aber das Problem war
Also habe ich in der Datei build.gladdle von 14 auf 15 gewechselt und es funktioniert
Versuche es.
quelle
Zielen Sie einfach auf die erforderliche,
minSdkVersion
dh ändern Sie die erforderliche. In meinem FallminSdkVersion
war14
.Ändern, um
minSdkVersion
16
das Problem zu lösenquelle
Vergessen Sie nicht, dass Sie build.gradle im Unterordner 'app' Ihres Projekts bearbeiten sollten, nicht im Ordner des Projekts. Ich habe einen Arbeitstag verloren, als ich versucht habe, ein Problem mit der Version "L" zu lösen.
quelle
Versuchen Sie, die Build- Ordner in Ihrem Projekt zu löschen, und synchronisieren Sie Ihr Gradle-Projekt erneut, um es neu zu erstellen. Auch, wie andere in diesem Beitrag gesagt haben - anstatt so etwas zu tun:
mach das:
quelle
Danke @Murtuza. Ihre Antwort hat mir geholfen, mein Problem zu lösen, aber in meinem Fall
compile 'com.android.support:support-v13:19.+
auch zusammen mitcompile 'com.android.support:support-v4:19.+' compile 'com.android.support:appcompat-v7:19.+'
aus der
compile 'com.android.support:support-v4:+' compile 'com.android.support:support-v7:+' compile 'com.android.support:support-v13:+'
Hoffnung könnte dies jemandem helfenquelle
Ich habe einige Projekte, bei denen ich lieber L.MR1 (SDKv22) als Ziel habe, und einige Projekte, bei denen ich KK (SDKv19) bevorzuge. Ihr Ergebnis mag anders sein, aber das hat bei mir funktioniert.
quelle
In Android Studio 1.1.0: Datei - Projektstruktur - Registerkarten - Wählen Sie eine minimale SDK-Version aus, die höher als in Manifest ist
quelle
Ich habe die zweite Lösung:
https://dl.dropboxusercontent.com/u/16403954/android-21.zip
nachsdk\platforms\
ändere build.gradle wie
hinzufügen
im Manifest mit
xmlns:tools="schemas.android.com/tools"
;Gehe zu
sdk\extras\android\m2repository\com\android\support\support-v4\21.0.0-rc1\
entpacken Sie support-v4-21.0.0-rc1.aar und bearbeiten Sie AndroidManifest.xml wie
von
zu
PS Sie können dies mit allen benötigten Unterstützungsbibliotheken tun.
quelle
Das einzige, was für mich funktioniert hat, ist Folgendes:
In project.properties habe ich Folgendes geändert:
cordova.system.library.1 = com.android.support: support-v4: + zu cordova.system.library.1 = com.android.support: support-v4: 20. +
quelle
Sie ändern lediglich die Mindest-API-Ebene von
Build Settings -> Player Settings -> Other Settings -> Minimum SDK Level
einer höheren Version.quelle
Am besten lassen Sie das Problem von Android Studio beheben.
Ich habe das Folgende getan und es hat gut funktioniert.
Öffnen Sie Ihr Projekt in Android Studio. Fehler werden angezeigt. Wenn ein Link zur Fehlerbehebung angegeben ist, klicken Sie darauf.
Öffnen Sie Ihr Projekt erneut in Android Studio. Es werden Fehler angezeigt. Diesmal wird ein Link angezeigt. Wenn dieser in Schritt 1 nicht angegeben ist, klicken Sie auf den angegebenen Link, um ihn zu beheben.
Beachten Sie, dass beide Vorgänge einige Minuten dauerten, aber alle Probleme behoben haben.
quelle
Lösung: Manifest-Fusion fehlgeschlagen Attribut application @ ppComponentFactory ...
Wenn Sie die neuesten und besten Firebase-Bibliotheken oder andere Bibliotheken verwenden, die tatsächlich AndroidX anstelle von android.support verwenden, liegt das Problem möglicherweise vor, da die Manifest-Fusion fehlgeschlagen ist. In diesem Fall muss Ihr Projekt auf AndroidX migriert werden. Folgen Sie also dem Link: https://firebase.google.com/support/release-notes/android#update_-_june_17_2019
Oder schauen Sie sich dieses Video an. https://youtu.be/RgveQ4AY1L8 Vielen Dank.
quelle