Od czasu pobrania najnowszego zestawu SDK i zainstalowania aplikacji Android Studio mój projekt się nie buduje. Otrzymuję następujący komunikat:
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
Odpowiedzi:
Uwaga: Zostało to zaktualizowane w celu odzwierciedlenia wydania API 21, Lollipop. Pobierz najnowszy zestaw SDK.
W jednym z moich modułów miałem następujące polecenie build.gradle:
Zmieniam to na
naprawiono problem.
Upewnij się, że nie
com.android.support:support-v4:+
włączasz ogólnie ani żadnych innych bibliotek pomocniczych (v7, v13, appcompat itp.) W dowolnym miejscu w swoim projekcie.Zakładam, że problemem jest
pobranienajnowszej wersji Lkandydatav4:+
dowydania (21.0.0-rc1),która oczywiście wymaga L SDK.Edytować:
Jeśli potrzebujesz użyć nowych widoków (CardView, RecyclerView i Paleta), powinny działać następujące czynności:
(Kredyty dla EddieRingle na / androiddev - http://www.reddit.com/r/androiddev/comments/297xli/howto_use_the_v21_support_libs_on_older_versions/ )
Kolejna edycja
Pamiętaj, aby zobaczyć odpowiedź @ murtuza poniżej dotyczącą appcompat-v7 i głosować, jeśli to pomoże!
źródło
Ponadto w przypadku importowania biblioteki appcompat-v7 upewnij się, że oznaczyłeś numer wersji na końcu w następujący sposób:
Po zmianie tylko wersji Support-v4 nadal pojawia się błąd:
To było trochę mylące, ponieważ wygląda na to, że v4 nadal stanowi problem, ale w rzeczywistości ograniczenie wersji appcompat v7 naprawiło problem.
źródło
buildToolsVersion '20.0.0'
w moimandroid{}
icompile 'com.android.support:appcompat-v7:20.0+'
moimdependencies {}
nie było to samo, więc uczyniłem je takimi samymi (jak pokazano tutaj).Rozwiązanie 1:
Zmień uses-sdk do
<uses-sdk tools:node="replace" />
i dodaćxmlns:tools="http://schemas.android.com/tools"
wAndroidManifest.xml
Upewnij się, że używasz stopnia 0.11 i wyższego, aby korzystać z połączenia Manifest.
Rozwiązanie 2:
Zmieni
compile 'com.android.support:support-v4:+'
sięcompile 'com.android.support:support-v4:20.+'
wbuild.gradle
. Zapobiegnie to korzystaniu z gradacjiv4:21.0.0
wymagającej wersji L.Jeśli jednak którakolwiek z zewnętrznych zależności używa tego samego. Prawdopodobnie będziesz musiał poczekać, aż zaktualizują to samo.
Rozwiązanie 3:
Usuń / skomentuj
<version>21.0.0-rc1</version>
w swoim pliku<android-sdk>/extras/android/m2repository/com/android/support-v4/maven-metadata.xml
Powtórz to samo dla support-v7
źródło
Nie działa.
zmień
uses-sdk
nai dodaj
xmlns:tools="http://schemas.android.com/tools"
w pliku AndroidManifest.xmlźródło
Problem wciąż pojawia się w zależnościach przechodnich. Gradle oferuje sposób wymuszenia użycia określonej wersji zależności.
Na przykład możesz dodać coś takiego:
do twojego build.gradle.
Jeśli chcesz dowiedzieć się więcej na temat strategii rozwiązywania problemów, zapoznaj się z tym przewodnikiem http://www.gradle.org/docs/current/dsl/org.gradle.api.artifacts.ResolutionStrategy.html
Znalazłem to podczas czytania odpowiedniego problemu, który tu link
źródło
W pliku build.gradle domyślnie była to kompilacja „com.android.support:support-v4:+”, więc przy budowaniu gradcit należy wziąć pod uwagę com.android.support:support-v4:21.0.0-rc1 z powodu ostatniej wersji zapoznawczej dewelopera L.
Wprowadź zmiany w poniższym wierszu, aby rozwiązać problem. Zmiana
do
Podobnie, gdy używasz biblioteki obsługi v7-appcompat, dokonaj zmiany z
compile 'com.android.support:appcompat-v7:+'
do
źródło
Dodając do poprawnych odpowiedzi powyżej, problem może nadal występować z powodu zagnieżdżania bibliotek. W takim przypadku spróbuj wykonać poniższy przykład:
źródło
w przypadku osób tworzących aplikacje hybrydowe przy użyciu interfejsu Cordova CLI to polecenie pomoże:
tak, używa podwójnych podwójnych myślników, tak jak to widziałeś.
źródło
cordova run android
tym się nie udaje.cordova-plugin-facebook4
. Po zainstalowaniucordova run android
działa dobrze. Niestety nigdzie nie znalazłem rozwiązania tego problemu. Próbowałem ręcznie dodaćminSdkVersion
siebie w,AndroidManifest
ale jest zastępowany. Wciąż próbuję to rozgryźć.minSdk
wersji do15
wconfig.xml
. Linia:<preference name="android-minSdkVersion" value="14" />
. W ten sposóbAndroidManifest
plik jest aktualizowany także o nową wersję.Miałem również ten sam problem, a zmiana następujących pomogła mi:
z:
do:
źródło
W przypadku osób, które zmagają się z tym problemem w wersji beta Android Studio , zaakceptowana odpowiedź nie rozwiązała mojego problemu. Podczas importowania projektu pobranego z GitHub w pliku build.gradle aplikacji pojawił się następujący komunikat o błędzie:
Ale w folderze biblioteki zewnętrznej mam ten folder:
Rozwiązałem powyższy problem, zmieniając zależność na:
Uwaga: może być konieczne pobranie poziomu interfejsu API niższego niż obecnie dostępny w Android Studio, aby niektóre biblioteki i projekty działały poprawnie.
źródło
Rozwiązałem problem, edytując poniższy wiersz w build.gradle i działa! :-)
dodanie wersji 20. + ”
Z
Do
źródło
v4
iv7
pliki pomocnicze na:20.+
.Pomógł mi zabrany stąd
źródło
Musisz skonfigurować wszystkie funkcje obsługi i biblioteki appcompat w wersji 19. +
Jeśli zalecenie pozostawienia biblioteki pomocy technicznej w wersji 19. + nie działa, możesz wypróbować następną wskazówkę w pliku AndroidManifest.
Najpierw dodaj ten kod:
A potem na poziomie aplikacji (nie wewnątrz aplikacji!)
źródło
Robię tutaj wszystkie rozwiązania bez rezultatu, więc patrzę w inne miejsce i znalazłem sposób na oszukanie IDE, więc musisz umieścić linię na Mainfest, aby Gradle używał innego, tego, który nakładasz na build.gradle linia jest następująca:
tylko to i działa.
Mam nadzieję, że to pomoże.
źródło
xmlns:tools="http://schemas.android.com/tools"
w<manifest>
-tagMusisz usunąć z build.gradle
compile 'com.android.support:support-v13:+'
źródło
Oto nowy błąd zgłoszony dla tego btw https://code.google.com/p/android/issues/detail?id=72430
Zakładając, że korzystasz z repozytorium wsparcia, obejściem tego problemu jest skomentowanie lub usunięcie wiersza
21.0.0-rc1 w lokalnym pliku listy repozytoriów Maven pod adresem /extras/android/m2repository/com/android/support-v4/maven-metadata.xml
źródło
Dla mnie taki problem został rozwiązany przez zmianę
W pliku build.gladdle i użyj pliku określonego w komunikacie o błędzie
ale problem był
Zmieniłem więc z 14 na 15 w pliku build.gladdle i działa
Spróbuj.
źródło
Po prostu wybierz wymaganą,
minSdkVersion
tj. Zmień na potrzebną W moim przypadkuminSdkVersion
była14
.Zmiana
minSdkVersion
16
rozwiązania problemuźródło
Nie zapomnij, powinieneś edytować build.gradle w podfolderze „app” swojego projektu, a nie w folderze projektu. Straciłem dzień roboczy, próbując rozwiązać problem z wersją „L”.
źródło
Spróbuj usunąć foldery kompilacji w swoim projekcie i ponownie zsynchronizuj projekt stopni, aby go odbudować. Ponadto, jak inni powiedzieli w tym poście - zamiast robić coś takiego:
Zrób to:
źródło
Dziękuję @Murtuza. Twoja odpowiedź pomogła mi rozwiązać mój problem, ale w moim przypadku
compile 'com.android.support:support-v13:19.+
również wraz zcompile 'com.android.support:support-v4:19.+' compile 'com.android.support:appcompat-v7:19.+'
z
compile 'com.android.support:support-v4:+' compile 'com.android.support:support-v7:+' compile 'com.android.support:support-v13:+'
Hope może to komuś pomócźródło
Mam kilka projektów, w których wolę celować w L.MR1 (SDKv22) i niektóre projekty, w których wolę KK (SDKv19). Twój wynik może być inny, ale to zadziałało dla mnie.
źródło
W Android Studio 1.1.0: Plik - Struktura projektu - Tab Smaki - Wybierz Min. Wersję SDK, która jest wyższa niż w Manifeście
źródło
Mam drugie rozwiązanie:
https://dl.dropboxusercontent.com/u/16403954/android-21.zip
dosdk\platforms\
zmień build.gradle jak
Dodaj
w Manifeście z
xmlns:tools="schemas.android.com/tools"
;Iść do
sdk\extras\android\m2repository\com\android\support\support-v4\21.0.0-rc1\
rozpakuj support-v4-21.0.0-rc1.aar i edytuj AndroidManifest.xml jak
z
do
PS Możesz to zrobić ze wszystkimi potrzebnymi bibliotekami wsparcia.
źródło
Jedyne, co działało dla mnie, to:
W project.properties zmieniłem:
cordova.system.library.1 = com.android.support: support-v4: + to cordova.system.library.1 = com.android.support: support-v4: 20. +
źródło
Po prostu zmieniasz minimalny poziom API z
Build Settings -> Player Settings -> Other Settings -> Minimum SDK Level
na wyższą wersję.źródło
Najlepszym sposobem jest pozwolenie Android Studio rozwiązać problem.
Zrobiłem poniżej i działało dobrze.
Otwórz swój projekt w Android Studio, błędy będą wyskakujące, jeśli podany jest link do naprawy, kliknij go.
Ponownie otwórz projekt w Android Studio, błędy będą wyskakujące, tym razem będzie link, jeśli nie zostanie podany w kroku 1, kliknij dany link, aby go naprawić.
Pamiętaj, że obie operacje trwały kilka minut, ale naprawiono wszystkie problemy.
źródło
Rozwiązanie: połączenie manifestu nie powiodło się Aplikacja atrybutu @ ppComponentFactory ...
Jeśli korzystasz z najnowszych i najlepszych bibliotek Firebase lub innych bibliotek, te faktycznie używają AndroidaX zamiast android.support, możesz mieć problem, ponieważ połączenie manifestu nie powiodło się !! W takim przypadku projekt musi zostać migrowany do systemu AndroidX. Więc skorzystaj z linku: https://firebase.google.com/support/release-notes/android#update_-_june_17_2019
Lub obejrzyj ten film. https://youtu.be/RgveQ4AY1L8 Dziękuję.
źródło