При синхронизации проекта появляется такая ошибка:
The library com.google.android.gms:play-services-basement is being requested by various other libraries at [[15.0.1,15.0.1]], but resolves to 16.0.1.
Disable the plugin and check your dependencies tree using
./gradlew :app:dependencies.
Это мой файл проекта build.gradle:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
maven {
url 'https://maven.fabric.io/public'
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
classpath 'com.google.gms:google-services:4.1.0'
classpath 'io.fabric.tools:gradle:1.25.4'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
google()
jcenter()
maven {
url 'https://maven.google.com/'
}
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
А это мой файл приложения build.gradle:
import com.google.gms.googleservices.GoogleServicesPlugin
apply plugin: 'com.android.application'
apply plugin: 'io.fabric'
android {
compileSdkVersion 27
defaultConfig {
multiDexEnabled true
applicationId "com.example.myexampleapp"
minSdkVersion 19
targetSdkVersion 27
versionCode 13
versionName "0.1.13"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
implementation 'com.google.firebase:firebase-core:16.0.4'
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:design:27.1.1'
implementation 'com.android.support:cardview-v7:27.1.1'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
implementation 'com.google.firebase:firebase-firestore:17.1.1'
implementation 'com.android.support:support-v4:27.1.1'
implementation 'com.firebaseui:firebase-ui-auth:4.1.0'
implementation 'com.firebaseui:firebase-ui-firestore:4.1.0'
implementation 'com.crashlytics.sdk.android:crashlytics:2.9.5'
implementation 'com.google.android.gms:play-services-auth:16.0.1'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
apply plugin: 'com.google.gms.google-services'
Что я пробовал:
Спасибо за помощь!
Обновлять: Это то, что у меня сейчас есть в моих зависимостях:
dependencies {
api "com.android.support:appcompat-v7:28.0.0"
api "com.android.support:customtabs:28.0.0"
api "com.android.support:support-v4:28.0.0"
api "com.android.support:cardview-v7:28.0.0"
api "com.android.support:design:28.0.0"
api "com.android.support.constraint:constraint-layout:1.1.3"
api "com.crashlytics.sdk.android:crashlytics:2.9.5"
api "com.google.android.gms:play-services-base:16.0.1"
api "com.google.android.gms:play-services-auth:16.0.1"
api "com.google.firebase:firebase-core:16.0.5"
api "com.google.firebase:firebase-auth:16.0.5"
api ("com.google.firebase:firebase-firestore:17.1.2") {
exclude group: "com.squareup.okhttp", module: "okhttp"
}
api ("com.firebaseui:firebase-ui-firestore:4.1.0") {
exclude group: "com.google.code.gson", module: "gson"
}
api ("com.firebaseui:firebase-ui-auth:4.1.0") {
exclude group: "com.google.code.gson", module: "gson"
}
implementation fileTree(dir: 'libs', include: ['*.jar'])
}
И это ошибка, которую я получаю:
error: cannot find symbol class IFlagProvider
Да, у меня не сработали ответы на него; Я либо получил ту же ошибку, либо позже при создании приложения я получил несколько ошибок, указывающих на ту же ошибку. Спасибо
в качестве теста удалите implementation 'com.google.android.gms:play-services-auth:16.0.1' и посмотрите, работает ли он, и скажите мне, что вы получите
@PeterHaddad да, сообщение об ошибке не изменилось, но спасибо за ваше предложение
эти dependencies делают его сборкой:
dependencies {
implementation "com.android.support:appcompat-v7:28.0.0"
implementation "com.android.support:customtabs:28.0.0"
implementation "com.android.support:support-v4:28.0.0"
implementation "com.android.support:cardview-v7:28.0.0"
implementation "com.android.support:design:28.0.0"
implementation "com.android.support.constraint:constraint-layout:1.1.3"
implementation "com.google.android.gms:play-services-base:16.0.1"
implementation "com.google.android.gms:play-services-auth:16.0.1"
implementation "com.crashlytics.sdk.android:crashlytics:2.9.5"
implementation "com.google.firebase:firebase-core:16.0.4"
implementation "com.google.firebase:firebase-auth:16.0.4"
implementation ("com.google.firebase:firebase-firestore:18.0.0") {
exclude group: "com.squareup.okhttp", module: "okhttp"
exclude group: "com.google.code.gson", module: "gson"
// exclude group: "com.google.guava", module: "guava"
}
implementation ("com.firebaseui:firebase-ui-firestore:4.1.0") {
exclude group: "com.google.code.gson", module: "gson"
}
implementation ("com.firebaseui:firebase-ui-auth:4.1.0") {
exclude group: "com.google.code.gson", module: "gson"
}
}
Я добавил customtabs:28.0.0 для соответствия требуемой версии и play-services-base:16.0.0 (который должен быть получен как транзитивная зависимость). также исключены повторяющиеся пакеты, например. gson. использовали compileSdkVersion и targetSdkVersion 28.
Стоит ли менять все implementation на api?
Это сработало, но при создании приложения я получаю этот error: package com.google.gson does not exist
Я тоже сейчас получаю эту ошибку: error: cannot find symbol class TypeToken
Я удалил исключение для gson, но по-прежнему получаю эту ошибку: error: cannot find symbol class IFlagProvider Спасибо.
@ jonasxd360 закомментировал два исключения. TypeToken должен предоставляться guava. в общем, каждый из них должен быть добавлен только один раз, иначе есть дубликаты, которые нельзя добавить в пакет.
com.google.android.gms:play-services-basement может быть даже из какой-то библиотеки в каталоге libs - потому что это имя указывает на устаревшую версию.
После обновления кода я все еще получаю эту ошибку: error: cannot find symbol class IFlagProvider Спасибо за вашу помощь!
@ jonasxd360, который может быть com.google.android.gms.flags.IFlagProvider. есть ли у вас библиотеки в каталоге libs, и если да, то какие? может быть невозможно построить против двух разных версий сервисов воспроизведения, с play-services-basement (до 12.0.0) и play-services-base (> 15.0.0). в лучшем случае можно было бы собрать jar-файлы библиотеки из исходного кода и соответствующим образом обновить их зависимости.
Каталог моих библиотек пуст
удалите этот import com.google.gms.googleservices.GoogleServicesPlugin. это может только усугубить проблему (эти зависимости сценария сборки - это все плагины Gradle, а не зависимости Java).
Спасибо за вашу помощь! (В итоге я удалил import IFlagProvider из одного из моих классов, тогда ваше решение сработало)
build.gradle показывает только платформу / android / build.gradle, но градиент уровня проекта сэр не отображается в моем местоположении сэр?
Вы проверяли этот связанное сообщение SO?