Библиотеки Android Gradle "не удается решить" - PullRequest
0 голосов
/ 13 ноября 2018

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

Мне удалось получить работающую в Firebase версию crashlytics, но в настоящее время я не могу заставить ее работать хорошо с admob:

в моем приложении build.gradle У меня есть следующий раздел зависимостей:

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')    
    implementation 'com.google.firebase:firebase-core:16.0.1'
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    testImplementation 'junit:junit:4.12'    
    implementation 'com.crashlytics.sdk.android:crashlytics-ndk:2.0.5'
    implementation 'com.crashlytics.sdk.android:crashlytics:2.9.6'
    implementation 'com.google.android.gms:play-services-ads:16.0.1'    
}

, которая выдает эту ошибку:

Failed to resolve: com.google.android.gms:play-services-ads:16.0.1

'16 .0.4 'также завершается ошибкой, тогда как '17 .1.1' выдает эту ошибку:

The following dependencies are project dependencies that are direct or have transitive dependencies that lead to the art
ifact with the issue.
-- Project 'app' depends onto com.google.firebase:firebase-core@16.0.1
-- Project 'app' depends onto com.google.android.gms:play-services-ads@17.1.1

думая, что, возможно, все зависимости должны быть '17 .1.1 ', результатом будет gradle, не находящий' com.google.firebase: firebase-core: 17.1.1 '

Я сомневаюсь, что я один, чтобы найти этоВариант супа несколько непрозрачный.Есть ли более простой способ обеспечить набор библиотек, которые хорошо работают вместе?

Ответы [ 2 ]

0 голосов
/ 13 ноября 2018

Добавить:

 implementation 'com.google.firebase:firebase-core:16.0.4'
 implementation 'com.google.android.gms:play-services-ads:17.1.1'

и в файле Gradle верхнего уровня используйте последнюю версию сервисов Google Play:

classpath 'com.google.gms:google-services:4.0.2'

Примечание:

Вам необходимо добавитьрепозиторий google () в файле Gradle верхнего уровня, как указано в документации Firebase, а также он должен быть до jcenter ():

buildscript {
  repositories {
          google()
          jcenter()
      }


dependencies {
  classpath 'com.android.tools.build:gradle:3.2.1'
  classpath 'com.google.gms:google-services:4.0.2'
   }
}

allprojects {
     repositories {
              google()
             jcenter()
  }
}
0 голосов
/ 13 ноября 2018

Пожалуйста, используйте следующую версию:

implementation 'com.google.android.gms:play-services-ads:17.1.1'

Также обновите библиотеку firebase-core до версии 16.0.4:

implementation 'com.google.firebase:firebase-core:16.0.4'
...