Après avoir accepté de mettre à jour le projet vers la nouvelle version de gradle, je reçois cette erreur :
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.
Comment puis-je résoudre ce problème ?
Voici le fichier build.gradle
de mon application :
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'
...
}
Et voici le fichier build.gradle
du projet :
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
}
Comment puis-je corriger cette erreur tout en conservant les modifications apportées par la mise à jour de la version de gradle ?
Vous utilisez plusieurs versions des bibliothèques de support Android :
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+'
Deux sont 26.0.0-alpha1
, et une utilise 25+
.
Choisissez une version concrète et utilisez-la pour les trois. Puisque votre compileSdkVersion
n'est pas O
, utilisez 25.3.1
pour ces trois bibliothèques, ce qui donne le résultat suivant :
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'
J'ai changé toutes les versions de la bibliothèque de support en 25.3.1 et ça a marché comme sur des roulettes :
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
Vous devez également modifier compileSdkVersion et targetSdkVersion en 25 :
compileSdkVersion 25
targetSdkVersion 25
Mettez à jour votre bibliothèque de support à la dernière version
Ouvrez le Fichier Manifeste
, et ajoutez le dans le Fichier Manifeste.
<uses-sdk tools:overrideLibrary="android.support.v17.leanback"/>
Et ajoutez pour recyclerview dans >> build.gradle Module app
:
`compile 'com.android.support:recyclerview-v7:25.3.1'``
Et cliquez sur : Sync Now
.