Не удалось найти play-services-basement.aar

150

Вчера я пытался собрать свое приложение, и все работало нормально.

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

Error:Could not find play-services-basement.aar (com.google.android.gms:play-services-basement:11.0.1). 
Searched in the following locations:
    https://jcenter.bintray.com/com/google/android/gms/play-services-basement/11.0.1/play-services-basement-11.0.1.aar

Кто-нибудь испытывает такую ​​же проблему?

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

Похоже, что он ищет: play-services-basement.aar и вместо этого выбирает play-services-basement-11.0.1.aar? Может ли это быть соглашение об именовании или проблема gradle?

SimbaClaws
источник

Ответы:

358

У jcenter () были зеркала некоторых библиотек (я полагаю, они делают это намеренно), которые первоначально должны были быть доступны через репозитории google () или maven (). Когда gradle build работает, для любой библиотеки, которая используется в проекте, первое место, которое нужно искать, это хранилище, которое указано первым в repositories {..разделе Когда зеркало jcenter () не имеет релиза (например, com.google.android.gms: play). -services-ads: 15.0.1 для моего случая) ваш gradle ищет, сборка завершается с такой ошибкой.

Таким образом, jcenter () должен быть указан в последнем месте по repositories {..частям, как показано ниже.

   buildscript {
    ext.kotlin_version = '1.2.50'
    repositories {
        google()
        maven {
            url 'https://maven.google.com/'
            name 'Google'
        }
        jcenter()
    }...

и

  allprojects {
    repositories {
        google()
        jcenter()
    }
  }
Fio
источник
4
Это решило мои проблемы с файлами «не удалось найти ... aar» после обновления до «com.google.gms: google-services: 4.0.1». Каждый раз, когда я пытаюсь обновить эту версию или версию Play Services, мне кажется, что я сталкиваюсь с такой непонятной и неприятной проблемой. Спасибо, что завершили трехчасовую охоту, чтобы решить эту проблему!
Кайл
11
Говоря, что jcenter - последнее место в файле колыбели, спасает мою жизнь :)
salih
3
этот проблом неожиданно для меня произошел, спасибо большое, ваше решение помогло только с изменением порядка jcenter () на последний.
abadooz
1
просто столкнулся с этим вопросом.
Аид
2
Спасибо. Проект работал нормально, и вдруг я столкнулся с той же проблемой. Помещение jcenter () в последний решило проблему.
Ленивый ниндзя
14

Это безумие!!! Я столкнулся с той же проблемой. Сборки работали нормально, а затем внезапно начали отказывать с той же проблемой. Я попробовал предложения выше, но это не сработало для меня. Наконец, вот что сработало для меня:

Обновление до последних зависимостей Firebase:

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

также рекламные услуги:

реализация "com.google.android.gms: play-services-ads: 17.0.0"

Примечание: при использовании play-services-ads: 17.0.0 обязательно добавьте следующее в файл манифеста, в противном случае приложение вылетает при открытии.

<application>
    <!-- Sample AdMob App ID: ca-app-pub-3940256099942544~3347511713 -->
    <meta-data
        android:name="com.google.android.gms.ads.APPLICATION_ID"
        android:value="[ADMOB_APP_ID]"/>
</application>
user846316
источник
Это сработало для меня. Я выдвинул на первый план все зависимости gradle, создавая мне проблемы, и была доступна более новая версия. Поменял их на самую новую версию и все заработало.
Крис Дек
Мне пришлось обновить все зависимости от firebase, чтобы успешно построить его.
Джейсон
1
Это, кажется, «текущий» правильный ответ. Принятое решение о переупорядочении вещей просто не имеет значения во многих случаях.
Джош
6

ОБНОВЛЕНИЕ # 2 2018/05/29

Проблема, кажется, исправлена, ушел, и я все еще использую те же самые настройки gradle. Но я сделал эти шаги некоторое время назад, я не уверен, что они что-то сделали или это проблема на стороне сервера, и это было исправлено / обновлено недавно. Я только заметил, что проблема исчезла после того, как я сделал следующие шаги:

  1. Добавьте следующее в gradle.build уровня проекта buildscript > repositoriesи allprojects > repositories.

    • google()
    • maven { url 'http://jcenter.bintray.com' }
  2. Измените путь к классу Google-сервисов на
    classpath com.google.gms:google-services:4.0.1'

  3. Синхронизировать проект с файлами Gradle



ОБНОВЛЕНИЕ # 1 2018/05/29

Я обошел эту ошибку, понизив мои зависимости от firebase до ~ 12.0.0 в gradle уровня приложения. Но это серьезно повлияет на приложение, все еще ища более приемлемые обходные пути.



    apply plugin: 'com.android.application'
    apply plugin: 'io.fabric'
    ...
    compile 'com.google.firebase:firebase-core:12.0.0'
    compile 'com.google.firebase:firebase-database:12.0.0'
    compile 'com.google.firebase:firebase-storage:12.0.0'
    compile 'com.google.firebase:firebase-auth:12.0.0'
    compile 'com.google.firebase:firebase-crash:12.0.0'
    ...




То же самое здесь, я столкнулся с той же проблемой, описанной @SimbaClaws. Все шло гладко, пока я вчера не столкнулся с той же проблемой.

У меня есть следующие коды в моем уровне проекта build.gradle,



    // Top-level build file where you can add configuration options common to all sub-projects/modules.

    buildscript {
        repositories {
            jcenter()
            maven {
                url 'https://maven.fabric.io/public'
            }
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:2.3.3'

            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
            //classpath 'com.google.gms:google-services:3.0.0'
            classpath 'com.google.gms:google-services:3.2.1'
            classpath 'io.fabric.tools:gradle:1.25.1'
        }
    }

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

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


И следующие коды для уровня приложения build.gradle



    apply plugin: 'com.android.application'
    apply plugin: 'io.fabric'

    android {
        compileSdkVersion 26
        buildToolsVersion "26.0.1"
        defaultConfig {
            applicationId "my.secret.application"
            minSdkVersion 16 // 19
            targetSdkVersion 26
            versionCode 1
            versionName "5.0.204"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
            exclude group: 'com.android.support', module: 'support-annotations'
        })

        compile 'com.google.firebase:firebase-core:15.0.2'
        compile 'com.google.firebase:firebase-database:15.0.0'
        compile 'com.google.firebase:firebase-storage:15.0.2'
        compile 'com.google.firebase:firebase-auth:15.1.0'
        compile 'com.google.firebase:firebase-crash:15.0.2'
        compile 'com.android.support:appcompat-v7:26.+'
        compile 'com.android.support:design:26.+'
        compile 'com.android.support:recyclerview-v7:26.+'
        compile 'com.android.support.constraint:constraint-layout:1.0.2'
        compile 'de.hdodenhof:circleimageview:2.2.0'
        compile 'com.android.support:palette-v7:26.+'
        compile 'com.android.support:support-v4:26.+'
        compile 'com.android.support:cardview-v7:26.+'
        compile 'com.github.bumptech.glide:glide:3.7.0'
        compile 'org.greenrobot:eventbus:3.1.1'
        testCompile 'junit:junit:4.12'
        compile 'com.crashlytics.sdk.android:crashlytics:2.9.1'
    }


    apply plugin: 'com.google.gms.google-services'


Кто-нибудь может посоветовать, если я что-то пропустил? Я также все еще ищу возможные обходные пути и ответы. ТИА!

raiser00
источник
2

Была такая же проблема, для меня ни один из ответов, упомянутых здесь, не работал. Поэтому я просто обновил зависимости в файле Gradle, и в зависимости от того, какая зависимость имела com.google.gms: (сохранил их в том же примере версии 16.0.0)

Swapnil
источник
1

Я также испытал эту проблему. Основная причина, которую я выяснил, заключалась в том, что существует несовместимая версия сборки Gradle. В репозитории Gradle Scripts «если можно так назвать» есть два модуля сборки gradle. Build.gradle (проект: имя приложения ) и build.gradle (модуль: приложение). Убедитесь, что classpath 'com.android.tools.build:gradle:3.2.1' в зависимостях использует последнюю и ту же версию инструмента. Несоответствия приводят к проблемам со сборкой.

Джордж
источник
0

В моем случае, только что добавленный wwwранее URL-адрес был похож, url "https://jitpack.io/"после того, как это добавленное wwwначало работать для меня. В других репозиториях также попробуйте добавить явные URL-адреса.

maven {
            url "https://www.jitpack.io/"
        }
Аникет
источник