Ciągle widzę tę wiadomość i nie wiem, jak rozwiązać ją na dobre.
Error:(43, 9) Attribute application@icon value=(@drawable/new_app_icon) from AndroidManifest.xml:43:9
is also present at com.github.erizet.signala:signala-longpolling:0.20:7:18 value=(@drawable/ic_launcher)
Suggestion: add 'tools:replace="android:icon"' to <application> element at AndroidManifest.xml:40:5 to override
:OpenBook:processDebugManifest FAILED
Error:Execution failed for task ':OpenBook:processDebugManifest'.
> Manifest merger failed with multiple errors, see logs
Próbowałem dodać android:replace="android:icon"
do mojego manifestu nawet za pomocą mojej ikony.
Próbowałem usunąć plik android:icon="@drawable/ic_launcher
z biblioteki, ale powraca, gdy buduję, ponieważ jest importowany z Mavena
Jakieś pomysły ?
android
gradle
android-studio
shimi_tap
źródło
źródło
Odpowiedzi:
Wydaje się, że jest to wina głównego narzędzia Fuzji dla gradle.
http://tools.android.com/tech-docs/new-build-system/user-guide/manifest-merger
Rozwiązałem to, dodając do mojego tagu manifestu
xmlns:tools="http://schemas.android.com/tools"
Następnie dodany
tools:replace="android:icon,android:theme"
do tagu aplikacjiTo informuje fuzję, aby używała mojej ikony manifestu i motywu, a nie innych bibliotek
Mam nadzieję, że dzięki
źródło
Mam ten sam problem, naprawiam go w ten sposób, dodając
xmlns:tools="http://schemas.android.com/tools"
na górę pliku mainfest i dodając,tools:replace="android:icon"
aby wyglądałźródło
mam ten sam błąd, tylko ten kod rozwiązuje mój problem, chcę się z tobą podzielić:
w
Manifest.xml
:dodaj ten kod na początku swojego pliku xml:
xmlns:tools="http://schemas.android.com/tools"
Następnie dodano:
tools:replace="android:icon,android:theme,android:label,android:name"
do tagu aplikacjiźródło
Odpowiedź shimi_tap wystarczy. Należy pamiętać, że wybierając tylko to, czego potrzebujesz. Wybierz spośród {ikona, nazwa, motyw, etykieta}. Dodałem
tools:replace="android:icon,android:theme"
, że to nie działa. Dodałemtools:replace="android:icon,android:theme,android:label,android:name"
, że to nie działa. Działa, gdy dodałemtools:replace="android:icon,android:theme,android:label"
. Więc dowiedz się, na czym dokładnie polega konflikt w plikach manifestu.źródło
Po prostu dodaj
xmlns:tools="http://schemas.android.com/tools"
do swojego tagu manifestu, a następnie musisz dodaćtools:replace="android:icon"
wcześniejandroid:icon="@mipmap/ic_launcher"
.źródło
Ten błąd występuje również, gdy minSdk Twojej aplikacji jest wyższy niż minSdk dowolnej biblioteki.
źródło
ROZWIĄZANIE PO WIELU CZASU GOOGLINGU
po prostu weź swój ic_launcher i wklej go do folderu drawables,
Przejdź do swojego manifestu i zmień android: icon = "@ drawable / ic_launcher"
Wyczyść projekt i przebuduj
Mam nadzieję, że ci to pomoże
źródło
Miałem problem ze zmianą ikony z rysowalnej na mipmapę.
Przegapiłem tylko linię
tools:replace="android:icon"
w manifeście.
źródło
Z jakiegoś powodu android studio nie lubi wywoływać ikony aplikacji z folderu do rysowania. W takim przypadku utworzyłem katalog zasobów mipmap w folderze res.
Kliknij prawym przyciskiem folder res> nowy> katalog zasobów Androida> typ zasobu: mipmap i teraz upuść tam dowolną ikonę, a następnie odnieś ją do pliku manifestu. Udostępnianie tego, ponieważ ta metoda zadziałała dla mnie.
android: icon: @ drawable / ic_launcher "
do
android: icon = "@ mipmap / ic_launcher"
źródło
android:theme="@style/AppTheme"
zobacz -> gist.github.com/CrandellWS/4d284b11b5bca3054bddf8f511e49ae9Jeśli nic z tego nie działa, zamknij Android Studio. Idź do app / src / main, otwórz plik AndroidManifest.xml w edytorze tekstu (jak sublime), usuń / zamień linie erros, zapisz i ponownie otwórz Android Studio.
źródło
z http://tools.android.com/tech-docs/new-build-system/user-guide/manifest-merger#TOC-Build-error
źródło
Odpowiedź Shimi_tap to właściwy sposób na rozwiązanie problemu. Jeśli chcesz użyć starego narzędzia do łączenia, możesz dodać to do pliku build.gradle
android {useOldManifestMerger true}
źródło
U mnie ten problem wystąpił po aktualizacji Usług Google Play. Jedna z bibliotek, z których korzystałem, włączyła tę bibliotekę, używając znaku „+” w oznaczeniu stopnia, na przykład
compile 'com.google.android.gms:play-services:+'
Spowodowało to problem, ponieważ minimalna wersja docelowa dla tej biblioteki była mniejsza niż wersja docelowa bieżącej wersji usług Google Play. Znalazłem to, po prostu przeglądając dzienniki.
źródło
W Twojej
.gradle
zmianie MinSDK, na przykład:build.gradle
(Moduł: aplikacja)minSdkVersion 9
minSdkVersion 14
itp.
źródło
Wypróbowałem wszystkie powyższe rozwiązania
w
Manifest.xml
:dodaj ten kod na początku pliku xml w tagu manifestu:
xmlns:tools="http://schemas.android.com/tools"
Następnie dodano:
tools:replace="android:icon,android:theme,android:label,android:name"
do tagu aplikacjiale nic z tego nie działało. Musiałem usunąć plik xml, który znajdował się w
Testowałem aplikację w
Samsung Galaxy 8 z systemem operacyjnym w wersji 8.0.0
czy to naprawdę rozwiązanie?
źródło
W pliku AndroidManifest.xml dodaj do
application
węzła następujący kod:źródło