Mam następną klasę
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0-rc01'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
implementation 'com.google.android.material:material:1.0.0-rc01'
}
Ale kiedy chcę zbudować aplikację, otrzymuję kolejny dziennik:
Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0-alpha3] AndroidManifest.xml:22:18-91
is also present at [androidx.core:core:1.0.0-alpha3] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory).
Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:5:5-19:19 to override.
Okej! Idź do manifestu i zrób to:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
package="ru.chopcode.myapplication">
<application
tools:replace="android:appComponentFactory"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
</application>
</manifest>
Następnie otrzymuję ten błąd w moim Logcat:
Manifest merger failed with multiple errors, see logs that I have Linked with it
android
android-gradle-plugin
build.gradle
gradle-plugin
Евгений Усов
źródło
źródło
Odpowiedzi:
Wystarczy zmienić „rc01” w zależnościach pierwszego i ostatniego wiersza w zależnościach na „alpha1”. To działa dla mnie
źródło
Miałem podobny problem. Dodano dwie linie w
gradle.properties
pliku:Te dwie linie automatycznie rozwiązały moje konflikty zależności między plikami Google a zależnościami stron trzecich. Oto link do naśladowania: https://developer.android.com/topic/libraries/support-library/androidx-overview#new-project
źródło
Napotkałem ten sam błąd, gdy próbuję dodać bibliotekę Kotlin-KTX do mojego projektu.
Próbuję migrację do systemu AndroidX i problem został rozwiązany!
źródło
androidx.*
nazwy pakietu, którą IDE sugerowało jako poprawkę.Powód niepowodzenia
Korzystasz z biblioteki materiałów, która jest częścią systemu AndroidX . Jeśli nie znasz AndroidaX, zapoznaj się z tą odpowiedzią .
Na przykład -
W swojej klasie używasz
com.android.support:appcompat-v7
(Część starej - Biblioteki pomocy technicznej Androida -)com.google.android.material:material
(Część AndroidaX) (Artefakt kompilacji AndroidXcom.android.support:design
)Rozwiązanie
Tak więc rozwiązaniem jest użycie AndroidaX lub starej biblioteki pomocy technicznej. Zalecam korzystanie z systemu AndroidX, ponieważ system Android nie aktualizuje bibliotek obsługi po wersji 28.0.0. Zobacz informacje o wersji biblioteki pomocy technicznej.
Po prostu migruj do systemu AndroidX. Oto moja szczegółowa odpowiedź na migrację do systemu AndroidX. Stawiam tutaj niezbędne kroki od tej odpowiedzi.
Przed migracją zdecydowanie zaleca się wykonanie kopii zapasowej projektu.
Umieść te flagi w swoim
gradle.properties
Sprawdź mapowania @ Library pod kątem równego pakietu AndroidX .
Sprawdź @ Oficjalna strona Migracji do AndroidaX
Co to jest Jetifier?
źródło
W moim przypadku działa to idealnie. Dodałem poniżej dwóch kodów linii w pliku manifestu
Podziękowania należą się tej odpowiedzi .
źródło
Proste rozwiązania - migruj do systemu AndroidX
po
gradle.properties
prostu dodaj poniżej dwa skryptyJaki był powód ↓
Zobacz stronę Refaktoryzacja paczki
źródło
Wystarczy usunąć zależność android.support
Cytowanie z materialnych wytycznych
Usunięcie tej zależności działa dobrze
Oto kompletny przykład zależności
źródło
Począwszy od systemu Android P, biblioteki obsługi zostały przeniesione do systemu AndroidX
Dokonaj refaktoryzacji swoich bibliotek lib z tej strony .
https://developer.android.com/topic/libraries/support-library/refactor
źródło
Zobacz ten obraz i dodaj tę linię w Androidzie AndroidManifest.xml
źródło
Dodaj te linie do pliku AndroidManifest.xml.
źródło
po prostu dodaj te dwa wiersze kodu do pliku manifestu
źródło
Wykonaj następujące kroki:
źródło
Przeprowadź migrację do,
androidX
jeśli jest to istniejący projekt. Jeśli jest to nowy projekt, dodaj te dwie flagi doGradle.propeties
po więcej szczegółowych kroków https://developer.android.com/jetpack/androidx lub sprawdź to Co to jest AndroidX?
źródło
Ten problem występował głównie w przypadku starych zależności .
Istnieją 2 rozwiązania:
Pierwszy:
Zaktualizuj wszystkie
old dependencies
i ścieżki klasy zProject level gradle
plików.Drugi:
Twój projekt
Migrate to AndroidX
Z menu Android Studio -> Refanctor ->
Migrate to AndroidX
Dzięki, daj mi znać, jeśli ktoś pomoże na tę odpowiedź.
źródło
Wreszcie znalazłem szybkie i łatwe rozwiązanie, dodając dwa wiersze w
android/build.gradle
pliku.Postępuj zgodnie z tym w 100% poprawny.
źródło
Wszystko zależy od kompatybilności wersji bibliotek
Napotkałem ten dziwny błąd przez 2 godziny. Rozwiązałem ten błąd, wykonując następujące kroki
zmień swoje zależności build.gradle na
do
źródło
Tylko jeśli nie chcesz korzystać z Androidx
Tak więc w moim przypadku korzystam z biblioteki używającej systemu Androidx, ale nie korzystam z systemu Androidx, więc kiedy obniżyłem wersję tej biblioteki, problem został rozwiązany.
W moim przypadku:
wyżej wspomniana biblioteka sprawia, że problem 13. + automatycznie otrzyma nową wersję biblioteki używającej systemu Androidx. Więc obniżyłem wersję biblioteki do:
Problem został rozwiązany.
źródło
Przejdź do Refactor-> Migrate-> Migrate to Android X.
Dodaj to do swojego
gradle.properties
pliku:I wykonaj synchronizację.
źródło
Utwórz nowy projekt i porównaj pliki build.gradle i zamień wszystkie
i inne zależności z tym samym, co w nowym projekcie, coś takiego
A potem naprawiono importowanie, aby używać Androidax w plikach Kotlin.
źródło
Wszystko, co zrobiłem, to przejdź do opcji „Refaktoryzacja” w górnym menu.
Następnie wybierz „Migruj do AndroidaX”
Zaakceptuj, aby zapisać projekt jako plik zip.
Zaktualizuj Android Studio, a także Gradle, aby nie napotkać żadnych problemów.
źródło
1.Dodaj te kody na końcu aplikacji / build.gradle:
2. Zmodyfikowana wersja SDK i narzędzi do 28:
3. W pliku AndroidManifest.xml należy dodać dwie linie:
Lub po prostu
źródło
źródło
Jeśli nie zamierzasz przeprowadzić migracji do systemu AndroidX, wykonaj poniższe czynności
źródło
Miałem ten sam problem przez trzy dni.
To tak, jakby Android chciał, żebyśmy albo użyli Kotlina, albo Androida X, rezygnują z Androida.
Ale tak to rozwiązałem.
Uwaga: Musisz używać najnowszych bibliotek (plik build.grudle) w najnowszej stabilnej wersji Androida Studio 3.4.1
źródło
Nie wiem, czy to właściwa odpowiedź, czy nie, ale zadziałało dla mnie
Zwiększ właściwość owijania siatki
i Zbuduj Gridle do
wyświetla się błąd z powodu wersji.
źródło
Przede wszystkim pamiętaj o dodaniu tej linii do manifestu
Następnie dodaj narzędzia zastępujące sugerowane w Android studio
źródło
Zmień plik proguard w build.gradle (Module: app) na następujący
zamiast
To zadziałało dla mnie
źródło
W celu rozwiązania tego problemu zaleciłbym jawne zdefiniowanie wersji zmiennych ext
android/build.gradle
w twoim głównym projekcieodniesienie https://github.com/zo0r/react-native-push-notification/issues/1109#issuecomment-506414941
źródło
Mam również ten sam problem: w przypadku studia Android wystarczy zmienić wersję wtyczki Android Gradle 3.3.2, a wersja Gradle to 5.1.1
źródło
w moim przypadku dodam plik manifestu `
znacznik aplikacji, oczywiście, będzie działać
źródło