Nachdem ich akzeptiert habe, das Projekt auf eine neue Version von gradle zu aktualisieren, erhalte ich diesen Fehler:
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.
Wie kann ich dieses Problem lösen?
Dies ist meine app's build.gradle
Datei:
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'
...
}
Und dies ist die Datei "build.gradle" des Projekts:
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
}
Wie kann ich diesen Fehler beheben und gleichzeitig die durch die Aktualisierung der gradle-Version vorgenommenen Änderungen beibehalten?
Sie verwenden mehrere Versionen der Android Support Libraries:
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+'
Zwei sind 26.0.0-alpha1
, und eine benutzt 25+
.
Wählen Sie eine konkrete Version und verwenden Sie diese für alle drei. Da Ihre compileSdkVersion
nicht O
ist, verwenden Sie 25.3.1
für alle drei dieser Bibliotheken, was folgendes ergibt:
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:cardview-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
Ich habe alle Support-Bibliotheksversionen auf 25.3.1 geändert, und es funktioniert einwandfrei:
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
Sie müssen auch compileSdkVersion und targetSdkVersion auf 25 ändern:
compileSdkVersion 25
targetSdkVersion 25
Aktualisieren Sie Ihre Support-Bibliothek auf die letzte Version
Öffnen Sie die Manifestdatei, und fügen Sie sie in die Manifestdatei ein.
<uses-sdk tools:overrideLibrary="android.support.v17.leanback"/>
Und fügen Sie für recyclerview in >> build.gradle Module app
hinzu:
compile 'com.android.support:recyclerview-v7:25.3.1'
Und klicken Sie auf: Sync Now