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

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

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

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? Это может быть соглашение об именах или проблема с градиентом?

Ответ 1

У 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()
    }
  }

Ответ 2

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

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

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

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

implementation '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>

Ответ 3

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

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

  1. Добавьте в buildscript > repositories gradle.build buildscript > repositories и все allprojects > repositories.

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

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



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

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



    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'


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

Ответ 4

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

Ответ 5

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

Ответ 6

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

maven {
            url "https://www.jitpack.io/"
        }