Nie można znaleźć play-services-basement.aar

150

Wczoraj próbowałem zbudować aplikację i wszystko działało dobrze.

Dziś bez żadnych zmian w projekcie ... Nagle wita mnie to ostrzeżenie o treści:

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

Czy ktoś ma ten sam problem?

Jeśli podążasz za linkiem, w którym szuka pakietu, w zasadzie jest on pobierany natychmiast przez przeglądarkę. Przypuszczam, że coś się zmieniło po stronie serwera? Może konwencje nazewnictwa?

Wygląda na to, że szuka: play-services-basement.aar i zamiast tego pobiera play-services-basement-11.0.1.aar? Czy może to być problem z konwencją nazewnictwa lub oceną?

SimbaClaws
źródło

Odpowiedzi:

358

jcenter () ma lustra niektórych bibliotek (myślę, że robią to celowo), które pierwotnie powinny być dostępne przez repozytoria google () lub maven (). Kiedy kompilacja gradle działa, dla każdej biblioteki używanej w projekcie pierwszym miejscem, którego należy szukać, jest repozytorium, które jest wymienione jako pierwsze w repositories {..sekcji Kiedy serwer jcenter () nie ma wersji (np. Com.google.android.gms: play -services-ads: 15.0.1 w moim przypadku), którego szuka twój gradle, kompilacja kończy się niepowodzeniem z takim błędem.

Tak więc jcenter () powinien znajdować się na ostatnim miejscu w repositories {..częściach, jak poniżej.

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

i

  allprojects {
    repositories {
        google()
        jcenter()
    }
  }
Fio
źródło
4
To rozwiązało moje problemy z plikami „nie można znaleźć ... aar” po aktualizacji do „com.google.gms: google-services: 4.0.1”. Za każdym razem, gdy próbuję zaktualizować tę lub wersję Play Services, napotykam na tego typu niejasny i frustrujący problem. Dziękujemy za zakończenie 3-godzinnego polowania w celu rozwiązania tego problemu!
Kyle,
11
mówiąc, że jcenter ma być ostatnim miejscem w kołysce, plik ratuje moje życie :)
salih
3
ten problem nagle wydarzył się dla mnie, dziękuję bardzo za pomoc w rozwiązaniu problemu ze zmianą kolejności jcenter () na ostatnią.
abadooz
1
właśnie napotkałem ten problem.
Hades
2
Dzięki. Projekt działał dobrze i nagle napotkałem ten sam problem. Umieszczenie jcenter () na ostatniej rozwiązało problem.
Lazy Ninja
14

To jest szalone!!! Zmierzyłem się z tym samym problemem. Kompilacje działały dobrze, a potem nagle zaczęły zawodzić z tym samym problemem. Wypróbowałem powyższe sugestie, ale nie zadziałały. Wreszcie to zadziałało dla mnie:

Zaktualizuj do najnowszych zależności Firebase:

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

również usługi reklamowe:

wdrożenie „com.google.android.gms: reklamy-usług-odtwarzania: 17.0.0”

Uwaga: w przypadku reklam play-services: 17.0.0, obowiązkowe jest dodanie następujących elementów w pliku Manifest, w przeciwnym razie aplikacja ulegnie awarii podczas otwierania.

<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
źródło
To zadziałało dla mnie. Podkreśliłem wszystkie zależności gradle powodujące problemy i była dostępna nowsza wersja. Zmieniono je do najnowszej wersji i zadziałało.
Chris Deck,
Musiałem zaktualizować wszystkie zależności Firebase, aby pomyślnie zbudować.
Jason
1
Wydaje się, że jest to „aktualna” poprawna odpowiedź. Przyjęta odpowiedź dotycząca ponownego zamawiania rzeczy po prostu wydaje się w wielu przypadkach nie mieć znaczenia.
Josh
6

UPDATE # 2 2018/05/29

Wydaje się, że problem został już rozwiązany i nadal używam tych samych konfiguracji gradle. Ale wykonałem te kroki jakiś czas temu.Nie jestem pewien, czy to zrobiło, czy jest to problem po stronie serwera i został niedawno naprawiony / zaktualizowany. Właśnie zauważyłem, że problem zniknął po wykonaniu następujących czynności:

  1. Dodaj następujące elementy w plikach gradle.build na poziomie projektu buildscript > repositoriesi allprojects > repositories.

    • google()
    • maven { url 'http://jcenter.bintray.com' }
  2. Zmień ścieżkę klas usług Google na
    classpath com.google.gms:google-services:4.0.1'

  3. Synchronizuj projekt z plikami Gradle



UPDATE # 1 2018/05/29 Pominąłem

błąd, obniżając moje zależności Firebase do ~ 12.0.0 w gradle na poziomie aplikacji. Ale to poważnie wpłynie na aplikację, wciąż rozglądając się za bardziej wykonalnymi obejściami.



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




To samo tutaj, doświadczyłem tego samego problemu opisanego przez @SimbaClaws. Wszystko układało się gładko, aż wczoraj napotkałem ten sam problem.

Mam następujące kody w moim build.gradle na poziomie projektu ,



    // 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
    }


Oraz następujące kody dla pliku build.gradle na poziomie aplikacji



    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'


Czy ktoś może doradzić, jeśli coś przegapiłem? Wciąż rozglądam się za możliwymi obejściami i odpowiedziami. TIA!

raiser00
źródło
2

Miałem ten sam problem, dla mnie żadna z wymienionych tutaj odpowiedzi nie zadziałała. Właśnie zaktualizowałem zależności w pliku gradle i zależność, która miała com.google.gms: (zachowałem je w tej samej wersji, przykład 16.0.0)

Swapnil
źródło
1

Ja też doświadczyłem tego problemu. Dowiedziałem się, że główną przyczyną jest niespójna kompilacja wersji Gradle. W repozytorium Gradle Scripts „jeśli mogę to tak nazwać” znajdują się dwa moduły build Gradle. Build.gradle (projekt: nazwa aplikacji ) i build.gradle (moduł: aplikacja). Upewnij się, że ścieżka klasy „com.android.tools.build:gradle:3.2.1” w zależnościach korzysta z najnowszej i tej samej wersji narzędzia. Niespójności powodują problemy z kompilacją.

Jerzy
źródło
0

W moim przypadku właśnie dodany wwwwcześniej adres URL wyglądał jakurl "https://jitpack.io/" po tym dodaniu wwwzaczął dla mnie działać. W innych repozytoriach również spróbuj dodać wyraźne adresy URL.

maven {
            url "https://www.jitpack.io/"
        }
aNiKeT
źródło