Gradle не может разрешить версию, которая не запрашивается - PullRequest
0 голосов
/ 05 декабря 2018

Я обновляю сервисы Firebase и Google Play в моем проекте Android.Вот как я обновил зависимости:

//Play Services
implementation 'com.google.android.gms:play-services-maps:16.0.0'
implementation 'com.google.android.gms:play-services-gcm:16.0.0'
implementation 'com.google.android.gms:play-services-location:16.0.0'
implementation 'com.google.android.gms:play-services-measurement-base:16.0.5'
implementation 'com.google.maps.android:android-maps-utils:0.5'

//Firebase
implementation 'com.google.firebase:firebase-core:16.0.5'
implementation 'com.google.firebase:firebase-messaging:17.3.4'
implementation 'com.google.firebase:firebase-config:16.1.0'
implementation 'com.onesignal:OneSignal:3.10.3'

Когда я строю свой проект, он выходит из строя со следующими ошибками:

Failed to resolve: com.google.android.gms:play-services-maps:17.3.4
Failed to resolve: com.google.android.gms:play-services-gcm:17.3.4
Failed to resolve: com.google.android.gms:play-services-location:17.3.4
Failed to resolve: com.google.android.gms:play-services-measurement-base:17.3.4
Failed to resolve: com.google.firebase:firebase-core:17.3.4
Failed to resolve: com.google.firebase:firebase-config:17.3.4
Failed to resolve: com.google.android.gms:play-services-basement:17.3.4
Failed to resolve: com.google.android.gms:play-services-tasks:17.3.4
Failed to resolve: com.google.firebase:firebase-common:17.3.4
Failed to resolve: com.google.firebase:firebase-iid:17.3.4
Failed to resolve: com.google.firebase:firebase-measurement-connector:17.3.4
Failed to resolve: com.google.android.gms:play-services-base:17.3.4

Почему-то для всех библиотек требуется версия 17.3.4.Как заставить это работать?

Файл корневого градала выглядит следующим образом:

buildscript {
    ext.kotlin_version = '1.3.10'
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.google.gms:google-services:4.2.0'
    }
}

allprojects {
    repositories {
        maven { url 'https://jitpack.io' }
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Ответы [ 3 ]

0 голосов
/ 05 декабря 2018

У меня раньше были проблемы с OneSignal и зависимостями (например, конфликт зависимостей с самим собой ).Я бы порекомендовал откатиться к более ранней версии библиотеки и посмотреть, является ли это недавней проблемой.

Можете ли вы также попробовать добавить mavenCentral() в качестве хранилища, так как оно (по крайней мере, ранее) размещалось там.

0 голосов
/ 17 декабря 2018

Я переместил плагин OneSignal в начало плагинов, и это помогло по некоторым причинам.

apply plugin: 'com.onesignal.androidsdk.onesignal-gradle-plugin'
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: 'kotlin-kapt'
0 голосов
/ 05 декабря 2018

В библиотеках Google по какой-то причине требуется, чтобы все версии были равными, поэтому он использует более высокую версию и пытается извлечь ту же версию для всех других библиотек.

Вам необходимо понизить версию других библиотек.и поместите их в одну и ту же версию, и она будет работать.

...