Получение ошибки при смешивании версий зависимостей - PullRequest
0 голосов
/ 25 мая 2018

Я получаю сообщение об ошибке, как показано ниже. Image Error Conflict Image.

Я перепробовал много ссылок и проверил материалы по stackoverflow и сумел решить большую часть, но не полностью.Есть ли более простой способ решить эту часть смешивания версии.

Ниже мой файл 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 ]

0 голосов
/ 25 мая 2018

Поскольку вы можете проверить свои зависимости, вы используете другую версию сервисов 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'

и обновите библиотеки до последней версии.

0 голосов
/ 25 мая 2018

Это рабочая версия ваших зависимостей 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.поддержка)
0 голосов
/ 25 мая 2018

Чтобы устранить эту ошибку , вам нужно использовать одну и ту же версию 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

Google Analytics

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Облачные сообщения

com.google.android.gms:play-services-gcm:15.0.1

Google Диск

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

Google Maps

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

SafetyNet

com.google.android.gms:play-services-safetynet:15.0.1

Android Pay

com.google.android.gms:play-services-wallet:15.0.1

Wear OS от Google

com.google.android.gms:play-services-wearable:15.0.1

Ссылка https://developers.google.com/android/guides/setup

0 голосов
/ 25 мая 2018

Все зависимости 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")
    }
  }
}
...