Получение ошибки при смешивании версий зависимостей
Я получаю сообщение об ошибке, как показано на рисунке ниже ,
Я перепробовал много ссылок и проверил материалы по stackru и сумел решить большую часть, но не полностью. Есть более простой способ разрешить эту часть смешивания версий.
Ниже мой файл Gradle
/**********My Gradle ************************/
buildscript {
repositories {
maven { url 'https://maven.fabric.io/public' }
}
dependencies {
classpath 'io.fabric.tools:gradle:1.+'
}
}
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
repositories {
maven { url 'https://maven.fabric.io/public' }
}
android {
compileSdkVersion 26
buildToolsVersion '27.0.3'
defaultConfig {
applicationId "com.example.company"
minSdkVersion 15
versionCode 8 //Update on store 25th may 18
versionName "2.1"
targetSdkVersion 26
multiDexEnabled true
}
dexOptions {
javaMaxHeapSize "4g"
}
/*buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
signingConfig signingConfigs.release
}
}*/
buildTypes {
release {
debuggable false
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
useLibrary 'org.apache.http.legacy'
}
dependencies {
implementation files('libs/jxl-2.6.10.jar')
/*implementation 'com.android.support:appcompat-v7:23.1.1'*/
implementation files('libs/ksoap2-android-assembly-3.4.0-jar-with-dependencies.jar')
implementation 'com.android.support:design:24.2.1'
implementation 'com.android.support:appcompat-v7:26.0.0'
implementation 'com.android.support:cardview-v7:26.0.0'
implementation 'com.google.android.gms:play-services-basement:10.2.1'
implementation 'com.google.android.gms:play-services:10.2.1'
implementation 'com.android.support:support-v4:26.0.0'
implementation 'com.github.bumptech.glide:glide:3.6.0'
implementation 'com.android.support:multidex:1.0.0'
implementation 'com.google.android.gms:play-services-location:9.6.1'
implementation 'com.google.android.gms:play-services-maps:9.6.1'
implementation 'com.google.android.gms:play-services:9.6.1'
implementation 'com.google.android.gms:play-services-identity:9.6.1'
implementation 'com.google.android.gms:play-services-plus:9.6.1'
implementation 'com.github.boxme:squarecamera:1.1.0'
implementation 'com.squareup.picasso:picasso:2.5.2'
implementation 'com.android.support.constraint:constraint-layout:1.0.0-alpha9'
// implementation 'com.google.firebase:firebase-messaging:10.2.1'
implementation 'com.google.firebase:firebase-messaging:11.0.4'
implementation 'id.zelory:compressor:2.1.0'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
implementation 'com.android.support:multidex:1.0.0'
/*implementation 'net.hockeyapp.android:HockeySDK:5.0.1'*/
implementation('com.crashlytics.sdk.android:crashlytics:2.8.0@aar') {
transitive = true;
}
}
apply plugin: 'com.google.gms.google-services'
Ниже мой журнал ошибок:
org.gradle.api.GradleException: Please fix the version conflict either by updating the version of the google-services plugin (information about the latest version is available at https://bintray.com/android/android-tools/com.google.gms.google-services/) or updating the version of com.google.android.gms to 10.2.1.
at com.google.gms.googleservices.GoogleServicesTask.checkVersionConflict(GoogleServicesTask.java:161)
at com.google.gms.googleservices.GoogleServicesTask.action(GoogleServicesTask.java:79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.doExecute(StandardTaskAction.java:46)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
at
Я прошел пост ниже, и мне удалось решить некоторые ошибки, но не полностью смешивая версии зависимостей
,
Пожалуйста, проверьте.
4 ответа
Все зависимости Google должны иметь одинаковую версию. Добавьте следующее в ваше приложение build.gradle:
configurations.all {
resolutionStrategy.eachDependency { DependencyResolveDetails details ->
if (details.getRequested().getGroup() == 'com.google.android.gms') {
// If different projects require different versions of
// Google Play Services it causes a crash on run.
// Fix by overriding version for all projects.
details.useVersion("15.0.1")
}
}
}
Это рабочая версия ваших зависимостей gradle:
// All com.android.support versions the same
implementation 'com.android.support:appcompat-v7:26.1.0' // Don't use variable versions '+'
implementation 'com.android.support:design:26.1.0'
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support:cardview-v7:26.1.0'
implementation 'com.android.support:support-v4:26.1.0'
// All com.google.android.gms versions the same
implementation 'com.google.android.gms:play-services-basement:15.0.1'
implementation 'com.google.android.gms:play-services-location:15.0.1'
implementation 'com.google.android.gms:play-services-maps:15.0.1'
implementation 'com.google.android.gms:play-services-identity:15.0.1'
implementation 'com.google.android.gms:play-services-plus:15.0.1'
implementation 'com.google.android.gms:play-services:12.0.1' // Don't implement repos multiple times
implementation 'com.google.firebase:firebase-messaging:15.0.2'
implementation 'com.android.support:multidex:1.0.0' // Don't implement repos multiple times
implementation 'com.android.support.constraint:constraint-layout:1.1.0' // Don't use alpha versions
implementation 'com.github.bumptech.glide:glide:3.6.0'
implementation 'com.squareup.picasso:picasso:2.5.2'
implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
/*implementation 'net.hockeyapp.android:HockeySDK:5.0.1'*/
implementation 'com.github.boxme:squarecamera:1.1.0'
implementation 'id.zelory:compressor:2.1.0'
implementation('com.crashlytics.sdk.android:crashlytics:2.8.0@aar') {
transitive = true
}
Несколько советов:
- Не используйте альфа или бета версию, если вы не знаете, что делаете
- Не используйте имена переменных версий (26.+), используйте имена постоянных версий (26.0.0)
- Используйте последнюю версию
- Сгруппировать зависимости той же версии (com.android.support)
Чтобы устранить эту ошибку, вам нужно использовать одну и ту же версию Gradle для всех сервисов Google Play.
Хорошо использовать последнюю версию ( Go to sdk>tools - Check the Google play services >Update it
)
Хорошо для вашего проекта вы должны использовать эти граделы
Google+
com.google.android.gms:play-services-plus:15.0.1
Вход в аккаунт Google
com.google.android.gms:play-services-auth:15.0.1
Google Actions, `Базовая клиентская библиотека
com.google.android.gms:play-services-base:15.0.1`
Google Войти
com.google.android.gms:play-services-identity:15.0.1
Гугл Аналитика
com.google.android.gms:play-services-analytics:15.0.2
Google Awareness
com.google.android.gms:play-services-awareness:15.0.1
Google Cast
com.google.android.gms:play-services-cast:15.0.1
Google Cloud Messaging
com.google.android.gms:play-services-gcm:15.0.1
Гугл Диск
com.google.android.gms:play-services-drive:15.0.1
Google Fit
com.google.android.gms:play-services-fitness:15.0.1
Google Location и распознавание активности
com.google.android.gms:play-services-location:15.0.1
Карты Гугл
com.google.android.gms:play-services-maps:15.0.1
Google Mobile Ads
com.google.android.gms:play-services-ads:15.0.1
Google Places
com.google.android.gms:play-services-places:15.0.1
Mobile Vision
com.google.android.gms:play-services-vision:15.0.2
Google Nearby
com.google.android.gms:play-services-nearby:15.0.1
Google Panorama Viewer
com.google.android.gms:play-services-panorama:15.0.1
Сервисы Google Play Game
com.google.android.gms:play-services-games:15.0.1
Защитная сетка
com.google.android.gms:play-services-safetynet:15.0.1
Android Pay
com.google.android.gms:play-services-wallet:15.0.1
Носить ОС от Google
com.google.android.gms:play-services-wearable:15.0.1
Поскольку вы можете проверить свои зависимости, вы используете разные версии сервисов Google Play и библиотек Firebase.
implementation 'com.google.android.gms:play-services:10.2.1'
implementation 'com.google.android.gms:play-services-location:9.6.1'
implementation 'com.google.firebase:firebase-messaging:11.0.4'
Используйте ту же версию.
В противном случае проверьте этот официальный блог.
Начиная с версии 15 всех сервисов Play и библиотек Firebase, номера версий соответствуют семантической схеме управления версиями. Каждой зависимости Maven, совпадающей с com.google.android.gms:play-services-* и com.google.firebase:firebase-*, больше не требуется иметь одинаковый номер версии для корректной работы во время сборки и во время выполнения. Вы сможете обновить каждую зависимость независимо друг от друга.
Обновите версию плагина google play gradle до последней версии, в настоящее время 3.3.+.
classpath 'com.google.gms:google-services:3.3.1'
и обновите библиотеки до последней версии.