Jestem początkującym w Androidzie i Javie. Właśnie zacząłem się uczyć. Podczas eksperymentowania z Intentem dzisiaj popełniłem błąd.
Error:Execution failed for task ':app:processDebugManifest'.
> Manifest merger failed with multiple errors, see logs
Znalazłem tutaj rozwiązania i próbowałem je wdrożyć, ale to nie zadziałało.
To jest mój build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.0"
defaultConfig {
applicationId "com.example.rohan.petadoptionthing"
minSdkVersion 10
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.0'
}
To jest mój AndroidManifest:
<?xml version="1.0" encoding="utf-8"?>
package="com.example.rohan.petadoptionthing" >
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".Second"
/>
<activity android:name=".third"/>
<activity android:name=".MainActivity"/>
</application>
To jest mój pierwszy tydzień z kodowaniem, przepraszam, jeśli to naprawdę głupia rzecz. Jestem naprawdę nowy i nie znalazłem innego miejsca, w którym można by zapytać. Przepraszam, że złamałem jakieś zasady
Odpowiedzi:
Otwórz manifest aplikacji (
AndroidManifest.xml
) i kliknijMerged Manifest
. Sprawdź obraz poniżej:Z obrazu widać Błąd w prawej kolumnie, spróbuj rozwiązać błąd. Może pomóc komuś z tym samym problemem. Przeczytaj więcej tutaj .
źródło
Usuń
<activity android:name=".MainActivity"/>
z pliku Mainfest. Jak już zdefiniowałeś jako:Plik manifestu pokazuje dwuznaczność.
źródło
Dla mnie TO działa -
Znajdowanie błędów scalania w
AndroidManifest.xml
Kliknij Połączony Manifest w
AndroidManifest.xml
Błąd scalania manifestu można wyświetlić w prawej kolumnie. Może to pomóc rozwiązać ten problem.
źródło
Miałem również te same problemy i po wielu badaniach znalazłem rozwiązanie:
Przykład:
Błąd: wykonanie nie powiodło się dla zadania „: app: processDebugManifest”.
Korzystając z appcompat w wersji 25.3.1, możemy uniknąć tego błędu
Uwzględniając powyższe punkty, pozbysz się tego irytującego problemu. Możesz również sprawdzić mój blog https://wordpress.com/post/dhingrakimmi.wordpress.com/23
źródło
Oprócz dostępnych rozwiązań sprawdź to również.
Jeśli ustawiłeś
android:allowBackup="false"
wAndroidManifest.xml
nim, może wystąpić konfliktandroid:allowBackup="true"
w przypadku innych zależności.Rozwiązanie
Zgodnie z sugestią @CLIFFORD PY, przełącz się
Merged Manifest
naAndroidManifest.xml
. Android Studio zasugeruje, aby dodaćtools:replace="android:allowBackup"
w<application />
w twojejAndroidManifest.xml
.źródło
Napotkałem ten sam problem i właśnie dodałem jedną linię w pliku manifest.xml i zadziałało to dla mnie.
Mam nadzieję, że to pomoże.
źródło
Wystarczy dodać poniższy kod do znacznika aplikacji Manifest projektu ...
źródło
W moim przypadku pokazywał błąd, ponieważ wystąpiła nadmiarowość
<uses-permission>
elementu. Tak więc proszę sprawdzić wAndroidManifest.xml
tym samym pliku.Wersja Androida Studio to 3.0.1
System operacyjny to Windows 7
Oto zrzut ekranu w celach informacyjnych.
źródło
Rozwiązałem to za pomocą Refactor -> Migrate to AndroidX
GL
źródło
Zwykle występuje, gdy masz błędy w swoim manifeście. Otwórz AndroidManifest.xml. Kliknij na scaloną kartę manifestu. Błędy można tam zobaczyć. Uwzględnij także sugestie wspomniane tam. Kiedy miałem podobny problem podczas importowania com.google.android.gms .maps.model.LatLng zasugerował, żebym zawarł narzędzia: overrideLibrary = "com.google.android.gms.maps" w tagu aplikacji i kompilacja zakończyła się powodzeniem.
źródło
Mój przypadek to naprawiłem
Ta odpowiedź pojawiła się ponownie w powiadomieniu push OnSignal
źródło
W
AndroidManifest.xml
:tools:replace="android:icon, android:theme
ixmlns:tools="http://schemas.android.com/tools
W
build.gradle
:useOldManifestMerger true
źródło
Wersja minium sdk powinna być taka sama jak modułów / lib, których używasz Na przykład: Twoja wersja modułu min sdk to 26, a wersja aplikacji min sdk to 21 Powinna być taka sama.
źródło
przez kilka ostatnich dni miałem również ten sam problem. Ale po wielu badaniach w końcu znalazłem rozwiązanie tego problemu.
W celu rozwiązania tego problemu, co trzeba zrobić, to:
1. Sprawdź, czy projektu build.gradle plik i modułu build.gradle plik zawiera te same wersje wszystkich zależności.
2. Upewnij się, że compileSdkVersion , buildToolsVersion , minSdkVersion i targetSdkVersion twojego projektu są zgodne z modułami lub bibliotekami dodanymi do projektu.
Mam nadzieję że to pomoże.
źródło
Jeśli po dodaniu modułu biblioteki Androida pojawi się ten błąd.
Można to naprawić za pomocą prostych usunąć
android:label="@string/app_name"
zAndroidManifest.xml
Twojego Android module Libraryźródło
Otwórz konsolę stopni, a zobaczysz, że gradle sugeruje dodanie konkretnej linii (jak: tools: replace = „android: allowBackup” lub tools: replace = „android: label” itp.). Dodaj tę linię do pliku manifestu pod tagiem i synchronizuj gradate, to wszystko.
źródło
W moim przypadku zdarzyło się tak, że zostawiłem pusty filtr intencji w tagu Activity
Usunięcie ich rozwiązało problem.
źródło
Jako nowicjusz w Android Studio, w moim przypadku przeniosłem istniejący projekt z Eclipse do Android Studio i odkryłem, że w moim pliku Manifest.xml istnieje duplikat definicji działania, która nie została pobrana przez Eclipse. błąd stopniowania.
Znalazłem to, przechodząc do Konsoli Gradle (w prawym dolnym rogu ekranu).
źródło
Zdarzyło mi się dwa razy, gdy refraktor (Zmień nazwę za pomocą SHIFT + F6) nazwę pola w naszych plikach i prosi o zmianę wszędzie, a my bez zwracania uwagi zmieniamy nazwę wszędzie. Na przykład, jeśli w klasie Java masz nazwę zmiennej „id” i zmienisz jej nazwę za pomocą SHIFT + F6. Jeśli nie zwrócisz uwagi na następne okno dialogowe, które zapyta cię, gdzie indziej zamierza zmienić identyfikator, a ty zaznaczysz zaznaczenie, wszystko zmieni cały identyfikator w plikach układu z nowej wartości.
źródło
jest to bardzo prosty błąd, który występuje tylko wtedy, gdy zdefiniujesz dowolne wywołanie aktywności dwa razy w pliku mainifest.xml Przykład
źródło
Umieść to na końcu kompilacji modułu aplikacji. Gradle:
od tego
źródło
Uzupełnij odpowiedź Phan Van Linh. Usunąłem te linie:
źródło
Po prostu migruj do Androidax, jak pokazano powyżej, a następnie ustaw minimalną wersję SDK na 26 ... bez wątpienia to działa idealnie
źródło
Działa następujący hack:
xmlns:tools="http://schemas.android.com/tools"
linię w znaczniku manifestutools:replace="android:icon,android:theme,android:allowBackup,label,name"
znacznik aplikacjiźródło
Rozwiązałem to, usuwając
android:replace
tagźródło
W moim przypadku korzystałem z adnotacji z biblioteki jetbrains. Usunąłem te adnotacje i zależności i działało dobrze.
Więc dokładnie sprawdź biblioteki kodu Androida i zależności.
źródło
Jeśli używasz wielu
manifestPlaceholder
elementów w swoimbuild.gradle
pliku, musisz dodać je jako elementy tablicy zamiast osobnych elementów.Na przykład spowoduje to błąd kompilacji lub błąd kompilacji: „java.lang.RuntimeException: Połączenie manifestu nie powiodło się z wieloma błędami”:
To naprawi błąd:
źródło
Wynika to z faktu, że korzystasz z nowej biblioteki materiałów ze starszą biblioteką pomocy technicznej.
Trzeba migrować
android.support
doandroidx
w celu wykorzystaniacom.google.android.material
.Jeśli używasz Androida Studio v 3.2 lub nowszego, po prostu
Wykonaj kopię zapasową projektu.
źródło
Korzystałem z
FirebaseUI Library
wraz zFacebook SDK Library
, co spowodowało problem.I z [tutaj] [1] pozbyłem się tego problemu.
Wraz
latest update
z biblioteką FirebaseUI część poprzedniej wersji Facebook SDK jest również jej częścią.Jeśli korzystasz z obu bibliotek, usuń bibliotekę SDK Facebooka .
https://github.com/firebase/FirebaseUI-Android/issues/230
AKTUALIZACJA
Od
Android Studio 3.0
wersji późniejszychapp.gradle
plik wymaga użyciaimplementation
lubapi
zamiastcompile
dodawania zależności do aplikacji.źródło
Po zobaczeniu odpowiedzi CLIFFORD na błąd, co pomogło mi rozwiązać ten problem, to zmiana nazwy „android: namex” na „android: name” w tagu działania filtru intent. W przypadku, gdy to samo rozwiązanie pomaga komuś innemu.
źródło