Ответ 1
Убедитесь, что у вас есть репозиторий google()
в файле build.gradle на уровне проекта перед любыми другими:
allprojects {
repositories {
google()
mavenLocal()
jcenter()
}
}
Я использую firebase для своего приложения для Android и вдруг получаю сообщение об ошибке при попытке запустить приложение. В субботу он работал отлично. Я не знаю, как эта ошибка произошла и как это решить. Пожалуйста, помогите мне.
зависимостей в моем build.gradle
dependencies {
compile('com.crashlytics.sdk.android:crashlytics:[email protected]') {
transitive = true;
}
compile 'com.android.volley:volley:1.0.0'
compile 'com.android.support:appcompat-v7:23.4.0'
compile 'com.android.support:cardview-v7:23.4.0'
compile 'com.facebook.android:facebook-android-sdk:4.1.0'
compile 'com.google.code.gson:gson:2.8.4'
compile 'com.android.support:multidex:1.0.3'
compile 'com.microsoft.azure:azure-mobile-android:3.1.0'
compile 'com.mixpanel.android:mixpanel-android:4.8.0'
compile 'com.firebase:firebase-client-android:2.4.0'
compile 'com.google.firebase:firebase-core:16.0.0'
compile 'com.google.firebase:firebase-auth:16.0.1'
compile 'com.android.support:support-v4:23.4.0'
compile 'com.android.support:design:23.4.0'
compile 'com.j256.ormlite:ormlite-android:4.48'
compile 'com.j256.ormlite:ormlite-core:4.48'
compile 'com.android.support:recyclerview-v7:23.4.0'
compile 'com.github.tibolte:elasticdownload:1.0.+'
compile 'me.dm7.barcodescanner:zxing:1.8.4'
compile 'com.google.android.gms:play-services-vision:15.0.2'
compile 'com.android.support.constraint:constraint-layout:1.1.1'
compile 'com.github.amlcurran.showcaseview:library:5.4.3'
compile 'com.wang.avi:library:2.1.3'
testCompile 'junit:junit:4.12'
androidTestCompile 'com.jayway.android.robotium:robotium-solo:5.6.0'
androidTestCompile 'com.android.support.test:rules:1.0.2'
}
apply plugin: 'com.google.gms.google-services'
На моем уровне проекта build.gradle:
dependencies {
classpath 'com.android.tools.build:gradle:2.2.2'
classpath 'com.google.gms:google-services:4.0.0'
}
Ошибка, которую я получаю:
Не удалось найти версию, совместимую с com.google.android.gms: play-services-base: [15.0.1,16.0.0).
Убедитесь, что у вас есть репозиторий google()
в файле build.gradle на уровне проекта перед любыми другими:
allprojects {
repositories {
google()
mavenLocal()
jcenter()
}
}
Добавьте эту строку в build.gradle
apply plugin: 'com.google.gms.google-services'
// Work around for onesignal-gradle-plugin compatibility
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true
Я столкнулся с той же проблемой после обновления. Попробуйте убедиться, что вы установили последние версии Build Tool и Google Repository.
Также проверьте Project build.gradle
, что вы используете google()
и версию инструмента сборки. После проверки build.gradle
попробуйте выполнить повторную синхронизацию, очистку и повторную сборку проекта.
При необходимости попробуйте обновить до последней версии зависимости вашего проекта.
buildscript {
repositories {
jcenter()
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.3'
}
// ...
}
allprojects {
repositories {
google()
jcenter()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
в моем случае я просто Andorid SDK Platform-Tools
ранее был 28.0.0, когда я обновил его до исправления проблемы 28.0.1!
Я решил эту проблему с помощью этого build.gradle [Proyect]
buildscript {
ext.kotlin_version = '1.2.30'
repositories {
google()
jcenter()
maven {
url 'https://dl.bintray.com/android/android-tools'
}
}
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'
}
}
implementation 'com.google.firebase:firebase-core:16.0.1'
implementation 'com.google.firebase:firebase-database:16.0.1'
implementation 'com.google.android.gms:play-services-auth:16.0.1'
}
apply plugin: 'com.google.gms.google-services'
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true
было достаточно в моем специальном случае (с v15.0.1
: v15.0.1
и v16.0.1
: v16.0.1
).
Внезапно, без каких-либо изменений в моем проекте, я получил ошибку ниже.
ОШИБКА: невозможно разрешить зависимость для ': app @debug/compileClasspath': не удалось разрешить com.google.android.gms: play-services-location: [15.0.0, 16.0.0).
На уровне проекта build.gradle
buildscript {
ext.kotlin_version = '1.3.21'
repositories {
google()
jcenter()
maven {
url 'https://dl.bintray.com/android/android-tools'
}
}
dependencies {
classpath 'com.android.tools.build:gradle:3.3.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.google.gms:google-services:4.2.0'
}
и
allprojects {
repositories {
google()
mavenCentral()
jcenter()
maven { url 'https://google.bintray.com/exoplayer/' }
}
}
с вышеуказанными настройками мне не повезло.
Вот что сработало для меня Я обнаружил, что проблема с сигналом сингла
Я добавил исключающее предложение в зависимость:
implementation ('com.onesignal:OneSignal:3.10.5') {
exclude group: 'com.google.android.gms'
}
затем вручную добавил недостающие зависимости. После добавления условия исключения я получил сообщение Не удалось разрешить com.google.firebase: firebase-messaging: [10.2.1, 12.1.0). Если вы обнаружите какие-либо другие отсутствующие зависимости, просто сделайте, как я сделал ниже.
На уровне модуля build.gradle я заменил
implementation 'com.google.firebase:firebase-messaging:17.4.0' with
implementation 'com.google.firebase:firebase-messaging:10.2.1'
и, наконец, сборка завершена успешно. Я потратил почти 5 часов на это. Надеюсь, это кому-нибудь поможет.
В моем случае все работало нормально, но внезапно я столкнулся с этой проблемой в следующем "действии запуска"!
В любом случае, проблема решается путем обновления com.google.gms:google-services
в файле проекта build.gradle до его последней версии, как показано ниже:
buildscript {
repositories {
jcenter()
mavenLocal()
mavenCentral()
maven {
url 'https://maven.google.com/'
name 'Google'
}
google()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.2'
classpath 'com.google.gms:google-services:4.3.0'
}
}
allprojects {
repositories {
jcenter()
maven { url 'https://maven.google.com' }
maven { url "https://jitpack.io" }
google()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Также убедитесь, что:
- Вы не находитесь в автономном режиме.
- И если вы используете Http Proxy, вы можете подключиться к хранилищу Google.
Примечание (в приведенном выше примере):
Android Studio: 3.4.2
compileSdkVersion 28
targetSdkVersion 28
ВАРИАНТ 1:
Следуйте приведенным ниже инструкциям, чтобы решить эту проблему.
Project-level build.gradle
использовать
maven { url "https://www.jitpack.io" }
вместо
maven { url "https://jitpack.io" }
ВАРИАНТ 2:
Выполните следующие шаги, чтобы решить.
Шаг1:
Project-level build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.google.gms:google-services:4.2.0' // google-services plugin
classpath 'com.android.tools.build:gradle:3.4.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
maven { url "http://dl.bintray.com/populov/maven" }
maven { url "https://jitpack.io" } // For Ucrop
maven { url "https://maven.google.com" } // Google Maven repository - FCM
maven {
url 'https://dl.bintray.com/azeesoft/maven'
}
google()
jcenter()
mavenCentral()
}
}
task clean(type: Delete) {
delete rootProject.buildDir
}
Шаг2:
App-level build.gradle
Я обновил версию One Signal.
использовать
implementation 'com.onesignal:OneSignal:3.11.1'
вместо
implementation 'com.onesignal:OneSignal:3.10.9'
Возможные причины:
Решение:
Наряду с приведенными выше ответами не забудьте добавить mavenLocal()
на уровне проекта build.gradle
allprojects {
repositories {
......
......
mavenLocal()
}
}
Это помогает получить доступ к кэшированным зависимостям, когда служба временно недоступна
apply plugin: 'com.google.gms.google-services'
com.google.gms.googleservices.GoogleServicesPlugin.config.disableVersionCheck = true