Czy korzystasz z lokalnej biblioteki, która nadal używa opcji „kompiluj”?
Devsil
@Devsil prawdopodobnie ... ale jak mogę dowiedzieć się, który? Próbowałem znaleźć ścieżkę w całym projekcie, ale nie mogłem znaleźć żadnego wystąpienia compile...
Rob
2
Jeśli korzystasz z lokalnej biblioteki, zobaczysz jej plik gradle.build znajdujący się w przeglądarce projektów po prawej stronie okna Android Studio. W tym pliku build.gradle może zawierać „kompilację”, a nie implementację. Jeśli którykolwiek plik build.gradle, który widzisz, nie zawiera tego. Może to być biblioteka, której używasz, która nie jest lokalna, co nie daje ci dostępu do zmiany. Więc to ostrzeżenie można na razie zignorować.
Devsil
1
Gradle powinien podać numer linii, w której występuje problem
Yetti99
spróbuj: stackoverflow.com/questions/48623244/... i Failed to resolve: android.arch.persistence.room:runtime:1.1.1 Open File Show in Project Structure dialogspróbuj zmienić wersję na1.0.0
Saeid
Odpowiedzi:
496
Zaktualizowałem com.google.gms:google-servicesod 3.1.1do 3.2.0i ostrzeżenie przestało się pojawiać.
buildscript {
repositories {
google()
jcenter()}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.0'// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files
classpath 'com.google.gms:google-services:3.2.0'}}
Konfiguracja „kompilacja” jest przestarzała i została zastąpiona przez „implementacja”. Zostanie on usunięty pod koniec 2018 r. Dla jasności nie używam żadnych zależności usługi Google {classpath 'com.android.tools.build:gradle:3.1.0'}
Amit_android
Pojawia się komunikat „Nie można znaleźć com.google.gms: google-services: 3.2.0.” kiedy spróbuję tego. Aktualizacja: zmiana ręcznie wyzwoliła ostrzeżenie o kłaczkach, gdy zmieniłem ją z powrotem na 3.1.1, a następnie Alt + Enter, aby zastosować poprawkę, automatycznie zmieniłem ją na com.google.gms: google-services: 3.2.0 bez błędów synchronizacji. Nie jestem pewien, jaka była różnica, ale to frustrujące.
jwehrle
Dobra, wierzę, że rozumiem różnicę. Zmieniłem ścieżkę klas gms projektu i modułu do wersji 3.2.0. Problem spowodował zmiana modułu. Zmień tylko wersję kompilacji projektu. Build.gradle gms classpath.
jwehrle
Brakowało mi również repozytorium jcenter ()! Projekt był bardzo stary i nie zawierał tego repozytorium!
Yani2000
Czy masz na myśli, że powinienem po prostu ręcznie dodać tę linię do pliku?
hellogoodnight
125
Mam jedno takie samo ostrzeżenie dla com.google.gms: google-services.
Rozwiązaniem jest uaktualnienie classpath com.google.gms: usługi google do classpath „com.google.gms: google-services: 3.2.0” w pliku w build.gradle Projekt:
buildscript {
repositories {
jcenter()
google()}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.0'// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files
classpath 'com.google.gms:google-services:3.2.0'}}
allprojects {
repositories {
jcenter()
google()}}
task clean(type:Delete){delete rootProject.buildDir
}
W Android Studio w wersji 3.1 zależności zgodne są zamieniane na implementację
Zauważ, że „testCompile” zmienia się na „testImplementation”.
AJW,
większość odpowiedzi, a także ta najbardziej popularna, koncentruje się na com.google.gms: google-services, ale chodzi o aktualizację starego stylu nazewnictwa w obu plikach
stopni
32
Zaktualizowałem com.google.gms: usługi google z 3.2.0 do 3.2.1 i przestało pojawiać się ostrzeżenie.
Dziękuję przyjacielu! To wydaje się być najbardziej aktualną odpowiedzią na ten temat w styczniu 2019 r.
NaturalBornCamper
Ta odpowiedź jest przydatna dla tych, którzy napotykają ten problem po raz pierwszy. Chociaż OP ma inne pytanie, które mówi, że nawet po tych zmianach wyświetlany jest komunikat o błędzie.
EDYCJA: Zostało to spowodowane przez królestwo, używając starszej wersji
behelit
7
https://issuetracker.google.com/issues/72479188 wskazuje, że wtyczki mogą czasami wprowadzać zależności „kompilować” i to powoduje ostrzeżenie. Prawdopodobnie najłatwiej jest oznaczyć ten problem gwiazdką i poczekać, aż naprawią go, aby wskazać, które wtyczki powodują problem.
Czy zamieniłeś każde wystąpienie „kompilacji” na „implementacja” w build.gradle twojego projektu (Module: App) i zaktualizowałeś com.google.gms: google-services in build.gradle (Project) do 3.2.0?
Tom
6
Napotykam ten problem bez użycia com.google.gms:google-services. Rozwiązanie rozwiązujące ten problem jak poniżej:
sprawdź build.gradlepliki wszystkich projektów i modułów. Lub po prostu globalne słowo kluczowe „skompiluj”, aby znaleźć przyczynę tego ostrzeżenia.
jeśli powyższa metoda nie może rozwiązać tego ostrzeżenia, użyj polecenia CLI,
./gradlew assembleDebug -d > gradle.log
wydrukuj szczegółowe informacje debugowania do pliku o nazwie gradle.loglub dowolnej innej, ponieważ informacje te są zbyt duże. Następnie wyszukaj słowo „OSTRZEŻENIE”, aby znaleźć pozycję gradle.log, zwykle możesz znaleźć zależność lub wtyczkę, które powodują ostrzeżenie.
Myślę, że to jest ogólne rozwiązanie. Problem może być spowodowany jedną lub kilkoma z twoich zależności
Rasmusob
5
W moim przypadku jest to spowodowane przez bibliotekę Realm, po zaktualizowaniu jej do najnowszej wersji (do tej pory 5.1.0) Realm problem został rozwiązany!
Oto działający skrypt oceny:
buildscript {
repositories {
jcenter()
google()}
dependencies {
classpath 'com.android.tools.build:gradle:3.1.2'
classpath "io.realm:realm-gradle-plugin:5.1.0"// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files
classpath 'com.google.gms:google-services:3.2.1'}}
Właśnie aktualizacja wersji usługi Google nie działała dla mnie.
Najpierw upewnij się, że wszystkie Twoje zależności compilezostały zastąpione implementation.
Zaktualizuj wszystkie zależności w swoim projekcie. Ponieważ jeśli występuje jedna z twoich zależności, compiletwój projekt wyświetli ten błąd. Zaktualizuj więc wszystkie wersje zależności.
przejdź do pliku build.gradle na poziomie projektu, podświetlone zostaną następujące linie
dependencies {
classpath 'com.android.tools.build:gradle:3.1.4'//place your cursor over here //and hit alt+enter and it will show you the appropriate version to select// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files
classpath 'com.google.gms:google-services:4.0.2'//the same as previously}
Obejściem rozwiązania tego problemu było dla mnie użycie starszej wersji Gradle, którą można znaleźć tutaj :
Użyłem wersji gradle-3.0-rc-1-src, ale inne też mogą działać, chociaż prawdopodobnie nie powinna być nowsza niż wersja 3.0.
Najpierw rozpakuj plik zip do dowolnego miejsca.
Następnie przejdź do Plik -> Ustawienia -> Kompilacja, wykonanie, wdrożenie -> Stopniowanie i zmień ustawienie na Użyj lokalnej dystrybucji stopni. Następnie upewnij się, że pole Gradle Home wskazuje katalog .gradle w katalogu, do którego właśnie rozpakowałeś.
Odbuduj projekt i wszystko powinno być w porządku.
Pamiętaj, że jeśli używasz classpath, musisz użyć go w buildscriptbloku; ponadto nie można używać implementationwewnątrz buildscriptbloku.
ChumiestBucket
0
Obecna wersja to 4.2.0 :
buildscript {
repositories {
google()
jcenter()}
dependencies {
classpath 'com.android.tools.build:gradle:3.4.0'// NOTE: Do not place your application dependencies here; they belong// in the individual module build.gradle files
classpath 'com.google.gms:google-services:4.2.0'}
compile
...Failed to resolve: android.arch.persistence.room:runtime:1.1.1 Open File Show in Project Structure dialog
spróbuj zmienić wersję na1.0.0
Odpowiedzi:
Zaktualizowałem
com.google.gms:google-services
od3.1.1
do3.2.0
i ostrzeżenie przestało się pojawiać.źródło
Mam jedno takie samo ostrzeżenie dla com.google.gms: google-services.
Rozwiązaniem jest uaktualnienie classpath com.google.gms: usługi google do classpath „com.google.gms: google-services: 3.2.0” w pliku w build.gradle Projekt:
W Android Studio w wersji 3.1 zależności zgodne są zamieniane na implementację
zależności z ostrzeżeniem w Android Studio 3.1
zależności OK w Android studio 3.1
Gradel generuje przez Android Studio 3.1 dla nowego projektu.
Odwiedź https://docs.gradle.org/current/userguide/dependency_management_for_java_projects.html
Aby uzyskać szczegółowe informacje https://docs.gradle.org/current/userguide/declaring_dependencies.html
źródło
Zaktualizowałem com.google.gms: usługi google z 3.2.0 do 3.2.1 i przestało pojawiać się ostrzeżenie.
źródło
classpath 'com.google.gms:google-services:4.1.0'
nie najbardziej zaktualizowaną, ale tak, jest większa niż3.2.0
. Brak rozdzielczości!Korzystanie z najnowszej wersji usług Google GMS rozwiązało to dla mnie.
Na poziomie projektu build.gradle:
źródło
Otwórz plik build.gradle znajdujący się tutaj:
Jest to stary sposób pisania bibliotek zależności (dla wersji gradate 2 i niższych):
To jest nowy (właściwy) sposób importowania zależności dla wersji 3 stopnia:
źródło
Odpowiedz przez google: https://issuetracker.google.com/issues/74048134
Nadal będzie występować pewna zależność przy użyciu kompilacji, dokładnie sprawdź zależności aplikacji i zależności przechodnie.
źródło
https://issuetracker.google.com/issues/72479188 wskazuje, że wtyczki mogą czasami wprowadzać zależności „kompilować” i to powoduje ostrzeżenie. Prawdopodobnie najłatwiej jest oznaczyć ten problem gwiazdką i poczekać, aż naprawią go, aby wskazać, które wtyczki powodują problem.
źródło
Nie ma potrzeby usuwania linii. Jak napisał Jkrevis, zaktualizuj com.google.gms: google-services do 3.2.0 i zatrzyma ostrzeżenia.
źródło
Napotykam ten problem bez użycia
com.google.gms:google-services
. Rozwiązanie rozwiązujące ten problem jak poniżej:build.gradle
pliki wszystkich projektów i modułów. Lub po prostu globalne słowo kluczowe „skompiluj”, aby znaleźć przyczynę tego ostrzeżenia../gradlew assembleDebug -d > gradle.log
wydrukuj szczegółowe informacje debugowania do pliku o nazwie
gradle.log
lub dowolnej innej, ponieważ informacje te są zbyt duże. Następnie wyszukaj słowo „OSTRZEŻENIE”, aby znaleźć pozycjęgradle.log
, zwykle możesz znaleźć zależność lub wtyczkę, które powodują ostrzeżenie.źródło
W moim przypadku jest to spowodowane przez bibliotekę Realm, po zaktualizowaniu jej do najnowszej wersji (do tej pory 5.1.0) Realm problem został rozwiązany!
Oto działający skrypt oceny:
źródło
Właśnie aktualizacja wersji usługi Google nie działała dla mnie.
compile
zostały zastąpioneimplementation
.compile
twój projekt wyświetli ten błąd. Zaktualizuj więc wszystkie wersje zależności.źródło
przejdź do pliku build.gradle na poziomie projektu, podświetlone zostaną następujące linie
źródło
W moim przypadku była to stara zależność, która używała kompilacji dla zależności przechodnich:
com.jakewharton.hugo
Po usunięciu go z mojej klasy skompilowałem.
źródło
Obejściem rozwiązania tego problemu było dla mnie użycie starszej wersji Gradle, którą można znaleźć tutaj :
Użyłem wersji gradle-3.0-rc-1-src, ale inne też mogą działać, chociaż prawdopodobnie nie powinna być nowsza niż wersja 3.0.
Najpierw rozpakuj plik zip do dowolnego miejsca.
Następnie przejdź do Plik -> Ustawienia -> Kompilacja, wykonanie, wdrożenie -> Stopniowanie i zmień ustawienie na Użyj lokalnej dystrybucji stopni. Następnie upewnij się, że pole Gradle Home wskazuje katalog .gradle w katalogu, do którego właśnie rozpakowałeś.
Odbuduj projekt i wszystko powinno być w porządku.
źródło
Próbowałem zmienić usługi Google GMS na najnowsze
com.google.gms:google-services:3.2.1
w Android Studio 3.0.1, ale ostrzeżenie nadal występuje.Zgodnie z zaleceniami przez kompilator, zmieniłem wszystkie
compile
zależności doimplementation
itestCompile
dotestImplementation
tak ..I wreszcie ostrzeżenie zostało usunięte!
źródło
Możesz to zrobić dwie opcje:
źródło
Po prostu dodaj
build.gradle
zbuild script
i wszystkie zależności
"compile"
zastępują"implementation"
.to działało ode mnie.
źródło
classpath
, musisz użyć go wbuildscript
bloku; ponadto nie można używaćimplementation
wewnątrzbuildscript
bloku.Obecna wersja to 4.2.0 :
buildscript {
}
źródło
Dla mnie zmiana kompilacji na implementację to naprawiła
Przed
Po
źródło
Mam nadzieję, że masz wpływ na build.gradle (aplikacja). Jeśli to zrobisz, wykonaj ten krok
Wymienić kompilacji z androidTestImplementation w build.gradle
tak prosty ! mam nadzieję, że to rozwiąże
źródło
W moim przypadku problemem była wtyczka stopniowania usług Google z następującym wierszem w pliku stopni:
Usunięcie tego rozwiązało problem
źródło
przejdź do ciebie build.gradle (poziom aplikacji)
Aplikacja modułu build.gradle
i zastąpić słowo „kompilacji” o „realizacji”
będzie działać w 100%
źródło