2017-07-04 1 views
0

Dans une application de compilation contre Api 23 (6.0), j'obtiens un avertissement dans le fichier build.gradle que "Toutes les bibliothèques com.android.support doivent utiliser exactement même version "et que les versions 24.2.0 & 23.1.1 ont été trouvées.Google Dagger com.android.support:support-v4 versions de dépendance

Mes com.android.support dépendances toutes spécifier 23.1.1 mais en cours d'exécution:

gradlew -q dependencies app:dependencies --configuration compile 

montre que ceux-ci sont tous mis à niveau 24.2.0.

La seule exception à cette règle est

com.google.dagger:dagger-android:2.9 

qui semble dépendre de

com.android.support:support-v4:24.2.0 

Extraits du rapport de dépendance gradlew:

+--- project :AppCommon 
| +--- com.android.support:appcompat-v7:23.1.1 
| | \--- com.android.support:support-v4:23.1.1 -> 24.2.0 
| |   +--- com.android.support:support-compat:24.2.0 
| |   | \--- com.android.support:support-annotations:24.2.0 
| |   +--- com.android.support:support-core-utils:24.2.0 
| |   | \--- com.android.support:support-compat:24.2.0 (*) 
| |   +--- com.android.support:support-media-compat:24.2.0 
| |   | \--- com.android.support:support-compat:24.2.0 (*) 
| |   +--- com.android.support:support-core-ui:24.2.0 
| |   | \--- com.android.support:support-compat:24.2.0 (*) 
| |   \--- com.android.support:support-fragment:24.2.0 
| |    +--- com.android.support:support-compat:24.2.0 (*) 
| |    +--- com.android.support:support-core-utils:24.2.0 (*) 
| |    +--- com.android.support:support-media-compat:24.2.0 (*) 
| |    \--- com.android.support:support-core-ui:24.2.0 (*) 
| +--- com.android.support:support-v4:23.1.1 -> 24.2.0 (*) 
| +--- com.android.support:design:23.1.1 
| | +--- com.android.support:appcompat-v7:23.1.1 (*) 
| | +--- com.android.support:recyclerview-v7:23.1.1 
| | | +--- com.android.support:support-annotations:23.1.1 -> 24.2.0 
| | | \--- com.android.support:support-v4:23.1.1 -> 24.2.0 (*) 
| | \--- com.android.support:support-v4:23.1.1 -> 24.2.0 (*) 




| \--- com.google.dagger:dagger-android:2.9 
|   +--- com.google.dagger:dagger:2.9 (*) 
|   +--- com.android.support:support-v4:24.2.0 (*) 
|   \--- com.android.support:support-annotations:24.2.0 

Comment puis-je résoudre ce conflit de dépendance autrement qu'en changeant la compilation contre api 24 (et en changeant tous mes com.android.supp versions ort à 24.2.0)?

Répondre

0

plug-in Update Gradle à

classpath 'com.android.tools.build:gradle:2.3.3' 

Modifier la compilation gradle version sdk, version buildtool et la version cible sdk à une mise à jour.

Pour l'échantillon,

compileSdkVersion 25 
buildToolsVersion "25.0.3" 
targetSdkVersion 25 

Et changer la dépendance gradle à la même version de builtoolversion

compile 'com.android.support:support-compat:25.3.1' 
compile 'com.android.support:support-media-compat:25.3.1' 
compile 'com.android.support:support-core-ui:25.3.1' 
compile 'com.android.support:support-fragment:25.3.1' 
compile 'com.android.support:support-core-utils:25.3.1' 
compile 'com.android.support:design:25.3.1' 
compile 'com.android.support:appcompat-v7:25.3.1' 
compile 'com.android.support:support-v4:25.3.1' 
compile 'com.android.support:support-annotations:25.3.1' 
compile 'com.android.support:recyclerview-v7:25.3.1' 
compile 'com.google.dagger:dagger:2.0.2' 
compile 'com.google.dagger:dagger-compiler:2.0.2' 

Vous devez utiliser la dépendance de poignard comme

compile 'com.google.dagger:dagger:2.0.2' 
compile 'com.google.dagger:dagger-compiler:2.0.2' 

au lieu de

com.google.dagger:dagger-android:2.9 
com.google.dagger:dagger:2.9 
+0

Merci, mais les principaux utilisateurs de l'application sont sur Android 6.0 donc je voudrais compiler contre API 23 – grantnz