Po zaakceptowaniu aktualizacji projektu do nowej wersji gradle pojawia się ten błąd:
Error:Execution failed for task ':app:processDebugManifest'.
Manifest merger failed : Attribute meta-data#android.support.VERSION@value value=(26.0.0-alpha1) from [com.android.support:cardview-v7:26.0.0-alpha1] AndroidManifest.xml:24:9-38
is also present at [com.android.support:design:25.3.1] AndroidManifest.xml:27:9-31 value=(25.3.1).
Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:22:5-24:41 to override.
Jak mogę rozwiązać ten problem? To jest build.gradle
plik mojej aplikacji :
android {
compileSdkVersion 25
buildToolsVersion "25.0.2"
defaultConfig {
applicationId "com.sample.bookReader"
minSdkVersion 16
targetSdkVersion 25
versionCode 1
versionName "1.0"
}
...
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:multidex:+'
compile 'com.android.support:appcompat-v7:26.0.0-alpha1'
compile 'com.android.support:cardview-v7:26.0.0-alpha1'
compile 'com.android.support:design:25+'
compile 'com.jakewharton:butterknife:8.2.1'
apt 'com.jakewharton:butterknife-compiler:8.2.1'
...
}
A oto projekt build.gradle
:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.1'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8'
}
}
allprojects {
repositories {
jcenter()
maven { url "https://www.jitpack.io" }
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Jak naprawić ten błąd, zachowując zmiany wprowadzone przez aktualizację wersji Gradle?
details.useVersion '27.0.0'
. W przeciwnym razie nie będziesz mieć najnowszych funkcji wsparcia, takich jak nadmiarowa eliminacja rzutowania widoku.Używasz wielu wersji bibliotek obsługi Androida:
Dwa są
26.0.0-alpha1
, a jeden używa25+
.Wybierz jedną konkretną wersję i użyj jej do wszystkich trzech. Ponieważ twój
compileSdkVersion
nie jestO
, użyj25.3.1
dla wszystkich trzech z tych bibliotek, co spowoduje:źródło
25.3.1
do obsługi bibliotek lubbuildToolsVersion
? bobuildToolsVersion
otrzymuję błądPackage Unavailable
compileSdkVersion
?All com.android.support libraries must use the exact same version specification (mixing versions can lead to runtime crashes). Found versions 26.0.0-alpha1, 25.3.1. Examples include com.android.support:support-compat:26.0.0-alpha1 and com.android.support:animated-vector-drawable:25.3.1
build.gradle
powinno już się odnosić26.0.0-alpha1
. Spróbuj wyczyścić projekt (Kompiluj> Wyczyść projekt) i sprawdź, czy problem zniknie. Jeśli nie, będziesz musiał wyśledzić, co się dziejecom.android.support:support-compat:26.0.0-alpha1
, na przykład przez uruchomienie raportu zależności Gradle.Zmieniłem wszystkie wersje biblioteki wsparcia na 25.3.1 i działałem jak marzenie:
Musisz także zmienić compileSdkVersion i targetSdkVersion na 25:
źródło
minSdkVersion
.Możesz dowiedzieć się, która biblioteka zależy od niewłaściwej wersji biblioteki wsparcia i wykluczyć ją w ten sposób:
stripe-android
w moim przypadku.źródło
Nie używam różnych wersji bibliotek i otrzymałem ten sam błąd, zdarzyło się to po usunięciu
buildToolsVersion
w AS RC 1, ale dodanie załatwiło sprawę, potools:node="replace"
prostu dodaj to do swojego manifest.xml wewnątrz<application ..../>
bloku:źródło
To samo przytrafiło się mnie. Zobacz Gradle -> Buduj Gradle -> i upewnij się, że zgodność jest zgodna w obu liniach kompilacji „zgodność aplikacji” i „wsparcie projektowania”, powinny one mieć tę samą wersję.
Następnie, aby mieć pewność, że uruchomi się bez problemu, przejdź do File -> Project Structure -> app i sprawdź na karcie właściwości wersji Build Tools, powinna być taka sama jak twoja pomocnicza linia kompilacji, na wszelki wypadek docelowa wersja SDK, jak również 25 w zakładce Flavours.
To właśnie zrobiłem i pracowałem. Powodzenia!
źródło
Zaktualizuj bibliotekę pomocy technicznej do ostatniej wersji
Otwórz
Manifest File
i dodaj go do pliku manifestu<uses-sdk tools:overrideLibrary="android.support.v17.leanback"/>
I dodaj do recyklingu w >>
build.gradle Module app
:compile 'com.android.support:recyclerview-v7:25.3.1'
I kliknij:
Sync Now
źródło
Rozwiązuję to, umieszczając to na końcu mojego modułu aplikacji build.gradle:
źródło
Odpowiedź jest akceptowana, ale jedną rzeczą, którą możesz zrobić, jest zdefiniowanie bibliotek na podstawie struktury projektu. Co możesz zrobić to:
Dzieje się tak, że predefiniowane biblioteki są teraz wyłączone. Biorę teraz appcompat: 26.0.0-alpha1 , używa starszej wersji rzeczy, kiedy dodajesz coś nowego i próbuje rozwiązać to za pomocą starych rzeczy. Kiedy dodasz go ze struktury projektu, doda to samo, ale z nowymi elementami, aby go rozwiązać. Twój problem zostałby rozwiązany.
źródło
Błąd dla mnie to:
Rozwiązanie dla mnie było w moim pliku Gradle projektu, którego potrzebowałem, aby podbić moją wersję com.google.gms: google-services.
Używałem wersji 3.1.1:
A błąd ustąpił po wpadnięciu go do wersji 3.2.1:
Właśnie zaktualizowałem wszystkie moje biblioteki do najnowszej, w tym wersji 27.1.1 wszystkich bibliotek wsparcia i wersji 15.0.0 wszystkich bibliotek Firebase, gdy zobaczyłem błąd.
źródło
Zaktualizowałem stary projekt Androida dla Wear OS. Mam ten komunikat o błędzie podczas kompilacji projektu:
Moja aplikacja build.gradle for Wear zawiera następujące zależności:
ROZWIĄZANIE :
Dodanie
implementation 'com.android.support:support-v4:28.0.0'
do zależności rozwiązało mój problem.źródło
Spróbuj usunąć metadane i odbudować projekt.
źródło
spróbuj przeczytać link to
Błąd: nie można wykonać zadania „: app: processDevDebugManifest”. Manifest scalenie nie powiodło się: Atrybut meta-data#android.support.VERSION@value value = (25.3.0), a następnie USD VERSION 26.0.0
: https://medium.com/@PongPloyAppDev/error-execution-failed-for-task-app-processdevdebugmanifest-48576be751
źródło