Skonfigurowałem mój projekt w Android Studio do korzystania z biblioteki Square Wire , zgodnie z tym pytaniem .
Build
-> Compile Project
działa dobrze.
2:03:10 PM Compilation completed successfully in 31 sec
Jeśli jednak otworzę jeden z wygenerowanych przeze mnie plików bufora protokołu, pakiet Square nie zostanie rozpoznany.
Innym objawem jest to, że metody odziedziczone z Message
klasy Square wyświetlają w edytorze błąd kompilacji „Nie można rozwiązać metody”, mimo że kompilują się i działają poprawnie.
Czy muszę zrobić coś więcej niż tylko dodanie zależności build.gradle
dla mojego modułu w moim projekcie?
Odpowiedzi:
Poniższe kroki pomogą
project/.idea
~/.gradle
folder.Otwórz projekt ponownie. Wszystko powinno zostać rozwiązane.
źródło
.gradle
folder zC:\Users\Hasnain\.gradle
do innego katalogu. Następnie studio android pokazuje błąd w każdej klasie. Następnie postępuję zgodnie z powyższymi krokami, po czym problem zostaje rozwiązany..idea
katalogu to zły pomysł, ponieważ może zresetować wszystkie ustawienia projektu. Po prostu usunąłem.idea/libraries
i.idea/caches
ostatecznie rozwiązałem problem po wypróbowaniu wszystkich innych rozwiązań.Dzięki free3dom za skierowanie mnie tutaj na właściwe tory.
Diagnoza
Wydaje się, że
Sync Project with Gradle Files
opcja w Android Studio zapewniaProject Structure
aktualność bibliotek.Jednak w moim przypadku były błędy:
Rozszerzenie (niezbyt oczywistego) linku pokazało szczegóły. Moja biblioteka wire-runtime wyświetlała się w nieprawidłowej lokalizacji:
Wydawało się, że to kac po mojej pierwotnej konfiguracji, w której zaimportowałem JAR do folderu libs.
Następnie zmieniłem go tak, aby był importowany bezpośrednio z Maven Central ( jak tutaj ) i wydaje się, że stare ustawienie nigdy nie zostało nadpisane nowym.
Poprawka
Poprawka polega na usunięciu zależności biblioteki z
Project Structure
ekranu, a następnieSync Project with Gradle Files
ponownie.Więcej szczegółów
Możesz również sprawdzić, która ścieżka jest używana do zasobu, otwierając
.idea/libraries/wire_runtime_1_2_0.xml
bezpośrednio.Mój zepsuty był:
Po usunięciu i ponownym dodaniu biblioteki zmieniła się
root url
na:Aktualizacja
Android Studio v0.4.4 najwyraźniej naprawia inne błędy, które mają te same objawy, więc jeśli masz starszą wersję, możesz chcieć zaktualizować.
źródło
Proste rozwiązanie
Przejdź przez link i zadziałało.
File
opcję z menu w lewej górnej części studia Android.Invalidate Cache/Restart
Otworzy się okno dialogowe.Invalidate and Restart
To rozwiązało mój problem
Źródło tutaj dla youtube
źródło
1) Kliknij ikonę gradle (po prawej stronie w Android Studio)
2) Kliknij przycisk odświeżania i poczekaj, aż problem zostanie rozwiązany: D
źródło
Wciąż miałem ten sam problem z Android Studio w wersji 3.2.1 i rozwiązałem problem po prostu usuwając te dwa podfoldery
.idea
folderu (nie trzeba usuwać całego.idea
folderu), podczas gdy synchronizacja gradle nie działała:./idea/caches
./idea/libraries
źródło
Dla mnie usunięcie folderu .gradle i .idea projektu rozwiązało problem.
źródło
Po prostu zrób to na swoim studiu Android:
To zadziałało dla mnie. Nie ma potrzeby czyszczenia folderu ./gradle ani ./idea
źródło
Moja zepsuta poprawka -
build.gradle
plikdependencies{}
build.gradle
plikuWypróbowałem wiele rozwiązań i to była dla mnie jedyna poprawka.
źródło
Miałem ten problem po aktualizacji do Android Studio 3.1. Rozwiązałem problem, aktualizując wszystkie używane przeze mnie komponenty. Więc zmieniłem następujące wpisy w moim build.gradle (aplikacja):
Uaktualnij pakiet SDK (z „compileSdkVersion 25” na „compileSdkVersion 26” lub może nowszy podczas czytania tej notatki):
// compileSdkVersion 25
compileSdkVersion 26
Komentarz: Ta zmiana wymusiła pobranie / zainstalowanie nowego pakietu SDK podczas następnej synchronizacji.
Zaktualizuj appcompat-v7:
// implementacja „com.android.support:appcompat-v7:25.4.0”
implementacja „com.android.support:appcompat-v7:26.1.0”
Uaktualnij firebase:
// implementacja „com.google.firebase: firebase-ads: 11.4.2”
implementacja „com.google.firebase: firebase-core: 12.0.1”
implementacja „com.google.firebase: firebase-ads: 12.0.1”
W PROJECT build.gradle zaktualizuj usługi Google:
// classpath „com.google.gms: google-services: 3.1.0”
classpath „com.google.gms: google-services: 3.2.0”
Upgrade gradle (z 4.4 do 4.6). Od gradle-wrapper.properties: distributionUrl = https: //services.gradle.org/distributions/gradle-4.6-all.zip
Po tych zmianach wyczyść projekt, unieważnij pamięć podręczną / zrestartuj, usuń zawartość .idea / libraries i zsynchronizuj ponownie (nie jestem pewien co do zamówienia, ale WSZYSTKIE te działania rozwiązały problem).
źródło
Usunięcie folderu bibliotek w .idea rozwiązało problem. Znajduje się w katalogu głównym projektu / .idea / libraries.
Używam Android Studio 3.1.4
źródło
Poniżej kroki, gdy projekt został pomyślnie skompilowany, ale z nierozwiązanymi klasami (wszystkie użycie klas będzie miało kolor czerwony we wszystkich plikach)
Krok 1. Usuń plik .gradle
Krok 2. Usuń plik .idea
Krok 3. Otwórz nowe okno Android Studio z innym projektem Android w systemie i zamknij projekt z błędem
Krok 3 . Teraz ponownie otwórz / zaimportuj projekt z paska narzędzi studia Android Studio -> Plik -> Otwórz
Uwaga: Teraz podczas importowania projektu nowe foldery .gradle i nowe .idea zostaną automatycznie wygenerowane z rozwiązanymi zależnościami przez kompilator.
źródło
Jeśli wszystkie powyższe odpowiedzi nie działają dla Ciebie. Po prostu spróbuj zaktualizować swoje zależności do najnowszej wersji. U mnie to zadziałało.
źródło
Wypróbowałem większość powyższych poprawek i to, co faktycznie zadziałało, to usunięcie wszystkich folderów konfiguracyjnych .AndroidStudio, a następnie ponowne uruchomienie Android Studio.
źródło
Znalazłem łatwy sposób
build.gradle
Błąd zniknął!
Przed
Po
źródło
Usunięcie
.idea/caches
i.idea/libraries
powinno rozwiązać wszystkie błędy.źródło
Wydaje się, że każdy stosuje inne podejście do rozwiązywania tych problemów. Zasugeruję inny, który moim zdaniem jest nieco mniej inwazyjny niż inne. Kiedy wprowadzę zmiany z biblioteki aar, którą dołączam, otworzę plik „settings.gradle” dla projektu.
Następnie z listy projektów wytnij główny moduł projektu:
include ':mainproj',
a następnie zsynchronizuj swój projekt. Następnie wklej go z powrotem i ponownie zsynchronizuj projekt. Uważam, że jest to to samo, co w przypadku niektórych ręcznych kroków usuwania, ale pozwala to zrobić to z poziomu IDE nieco szybciej i mniej boleśnie.
źródło
Naprawiono mnie poniższą metodą
Metoda 1
Metoda 2
źródło
Te rozwiązania nie pomogły mi z tym samym problemem w Android Studio 0.5.8.
Opisałem swoją odpowiedź na to samo pytanie (chyba): https://stackoverflow.com/a/23891829/534698 Właśnie usunąłem katalog ~ / .AndroidStudioPreview (w Ubuntu). Brakowało mi wszystkich ustawień Android Studio, ale działa.
źródło
W moim przypadku z jakiegoś powodu nie ustawiono wersji wtyczki Androida . Próbowałem wyczyścić pamięć podręczną i usunąć .gradle i .idea, ale nie wyszło i po końcu wędrówki godzinami znalazłem to.
źródło
Miałem wcześniej podobny problem, unieważnienie pamięci podręcznej i ponowne uruchomienie nie rozwiązało go. Właśnie zrobiłem Gradle Sync i wszystko działało dobrze.
źródło
Rozwiązano problem, czyszcząc projekt
Build->Clean Project
źródło
Dla mnie polecam słoik w bibliotece modułów. Nie może rozpatrzyć symbolu w słoju. Więc znajduję rozwiązanie dla mojej sytuacji. Użyj
provided
drogi.źródło
Wszystkie powyższe odpowiedzi nie działają dla mnie. Mój problem polegał na tym, że miałem 3 moduły, z których 2 miały tę samą nazwę pakietu .
To było w porządku dla Android Studio <= 3.2.1.
W przypadku Android Studio> 3.2.1 ressouce był czerwony.
Rozwiązałem to tak, jak ta wzmianka tutaj (właśnie stworzyłem różne nazwy pakietów dla każdego modułu): Każda wersja Android Studio> 3.2.1 pokazuje czerwony zasób, ale nadal się kompiluje
źródło
Ten sam problem został rozwiązany, wykonując następujące czynności:
zaktualizuj wersję biblioteki w gradle do dowolnej liczby losowej, np .: lib_1.0.0 -> lib_1.0.0.0
gradle sync
synchronizacja pokazuje błąd
cofnij zmianę wersji lib_1.0.0.0 -> lib_1.0.0
gradle sync
Otwórz plik java z importami, aby zobaczyć, czy błąd został usunięty.
źródło
Żadne z rozwiązań nie zadziałało ... uciekłem się do odinstalowania oprogramowania Java z mojego komputera, uruchomienia Android Studio, aby upewnić się, że wykrył odinstalowanie, a następnie zainstalowałem go ponownie.
Jeśli zdecydujesz się iść tą drogą, spróbuj zmienić ścieżkę jdk i ustawić nową ścieżkę w strukturze projektu. Jeśli to nie zadziała, odinstaluj java .
źródło
Wykonałem tylko czysty projekt i odbudowałem projekt przed ponownym uruchomieniem Android Studio, rozwiązuje to mój problem. Być może Android Studio faktycznie nie aktualizuje odniesień w interfejsie
źródło