Android Studio nagle nie może rozwiązać symboli

207

Android Studio 0.4.2 działało dobrze i dzisiaj go otworzyłem i prawie wszystko było czerwone, a automatyczne uzupełnianie przestało działać. Patrzę na import, a AS wydaje się mówić mi, że nie może nagle znaleźć android.support.v4 (oferując mi opcję usunięcia nieużywanego importu). ( Android.support.v7 wydaje się być w porządku).

Rzeczy, których próbowałem:

  • Przebudowa projektu
  • Czyszczenie projektu
  • Synchronizacja z plikami Gradle
  • Zamknięcie projektu, zamknięcie AS i ponowne uruchomienie / ponowne otwarcie
  • Plik> Unieważnij pamięć podręczną / Uruchom ponownie
  • Badając Lint, nie widziałem nic oczywistego
  • Podwójne sprawdzanie, czy wszystkie biblioteki pomocy są aktualne w menedżerze SDK
  • Sprawdzam mój Build.gradle, chociaż bez zmian i jest taki sam jak zwykle, tak jak cały czas działał.

Oto przypadek, w którym jest to istotne:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.7.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.0'

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
    }
}

dependencies {
    compile 'com.android.support:support-v4:19.0.0'
    compile 'com.android.support:gridlayout-v7:19.0.0'
    compile 'com.android.support:appcompat-v7:19.0.0'
    compile 'com.google.android.gms:play-services:4.0.30'
    compile project(':libraries:facebook')
    compile files('libs/core.jar')
}

Gdy kliknę „Synchronizuj z gradem” i otworzę „Ustawienia projektu”, pojawia się czerwony błąd informujący, że mam zduplikowane odwołania do bibliotek i usuwam nieużywane. wprowadź opis zdjęcia tutaj

Mój projekt się kompiluje i działa dobrze, ale naprawdę potrzebuję działania autouzupełniania !! Czy ktoś ma jakieś sugestie?

wprowadź opis zdjęcia tutaj

Daniel Wilson
źródło
66
Każda aktualizacja Android Studio psuje projekty, mam już tego dość. Dlaczego nie mogą się zatrzymać i wydać użytecznej wersji.
Konrad Morawski
3
Przed czyszczeniem lub usunięciem dowolnego pliku przeczytaj najpierw tę odpowiedź. To może rozwiązać twój problem. stackoverflow.com/a/19223269/513413
Hesam
16
„Nieprawidłowa pamięć podręczna / restart” działała dla mnie.
Eagle_Eye,
1
Miałem ten sam problem i rozwiązano problem z odpowiedzią na ten post SO stackoverflow.com/a/30828772/1550233
johnw182 18.10.15
zaakceptuj tę odpowiedź, aby użytkownicy nie usunęli niczego ręcznie stackoverflow.com/a/22901534/7767664
user924

Odpowiedzi:

238

Zrobiłeś już listę większości rzeczy, które byłyby pomocne, ale możesz spróbować:

  • Wyjdź z Android Studio
  • Utwórz kopię zapasową projektu
  • Usuń wszystkie pliki .iml i folder .idea
  • Uruchom ponownie Android Studio i ponownie zaimportuj swój projekt

Nawiasem mówiąc, komunikaty o błędach wyświetlane w oknie dialogowym Struktura projektu są w większości fałszywe.

AKTUALIZACJA:

Android Studio 0.4.3 jest dostępny w kanale aktualizacji kanarek i mam nadzieję, że powinien rozwiązać większość z tych problemów. Mogą występować pewne problemy z utrzymaniem się; jeśli zobaczysz je w 0.4.3, daj nam znać i postaraj się dać nam niezawodny zestaw kroków do odtworzenia, abyśmy mogli upewnić się, że zadbaliśmy o wszystkie ścieżki kodu.

Scott Barta
źródło
3
To zadziałało dla mnie. Szaleję za tym, cały dzień próbowania tego rozgryźć! Dziękuję za odpowiedź.
Patrick Kafka
25
Dla mnie wystarczyło usunąć folder bibliotek w .idea i projekt synchronizacji prasy z gradle.
Gabriel Ittner,
2
Mam ten sam problem z 0.8.9 i bez powodzenia wypróbowałem wszystkie wymienione tutaj rozwiązania :(
Rémy DAVID
3
Nie działało dla mnie w AndroidStudio 1.2 RC. To jest koszmar.
RED_
7
Dzieje się tak nadal w 2018 r., A Twoja odpowiedź była pomocna. Chciałbym, żeby to zostało naprawione ... Zdarzyło się w AS 3.1.1.
Demogorii
302

Żadna z wyżej wymienionych rzeczy nie działała dla mnie. Ale potem znalazłem tę pozycję menu w menu plikówInvalidate Caches/Restart który wydaje się rozwiązać problem.

Naprawdę nie wiem, co się stało w tle, ale kiedy Android Studio uruchomiło się ponownie, pasek stanu powiedział Indexing... przez minutę, co najwyraźniej czyniło cuda.

Dla porównania używam Androida Studio 0.5.4.

Victor Häggqvist
źródło
2
Pracowałem dla mnie w wersji 0.5.9
Ojciec Stack
19
Dla mnie miałem awarię zasilania, gdy ładowały się studia Android 0.8.2 i nie rozpoznaje żadnego z moich importów Java i wszystko było po prostu czerwone. To zadziałało dla mnie, dzięki!
Simon,
2
Korzystam z Androida Studio 1.0.2, kiedy otworzyłem swój projekt, byłem pełen czerwonych błędów. rozwiązałem to przez studio Android -> plik -> unieważnij pamięć podręczną / uruchom ponownie. po ponownym uruchomieniu projektu zadziałało .. brak czerwonych błędów
SoftEye
4
Android Studio 1.1.0. Miałem także awarię zasilania i to załatwiło sprawę.
Phito
2
To powinna być poprawna odpowiedź. Potwierdziłem to za pomocą Androida Studio 1.4 final.
Davideas
58

Przejdź przez link i to zadziałało dla mnie.

1.) Wybierz opcję Plik z menu po lewej górnej stronie studia Android.

2.) Wybierz opcję: „Invalidate Cache / Restart ..” Otworzy się okno dialogowe.

3.) Kliknij pierwszy przycisk z opcją: „Unieważnij i uruchom ponownie”

4.) Zamknie studio i uruchomi je ponownie. Rozpocznij indeksowanie projektu.

Rozwiązało to mój problem:

Plik -> Unieważnij pamięć podręczną / Uruchom ponownie -> Unieważnij i uruchom ponownie

Źródło: https://www.youtube.com/watch?v=FX_gCTpqhwM

Manmohan Soni
źródło
1
dla Androida Studio 3+: stackoverflow.com/questions/50313885/...
user1506104
Pracowałem dla mnie w Android Studio 3.5.3
flawyte
13

Android Studio 1.3

  1. Otwórz Ustawienia modułu
  2. Kliknij moduł w menu Moduły
  3. Na karcie właściwości ustaw Zgodność źródła i Zgodność docelową na wersję Java.

Nic więcej nie zrobiłem i zadziałało to dla mnie.

Mathieu de Brito
źródło
Gdzie mogę znaleźć ustawienia modułu?
bendaf
3
@bendaf Kliknij prawym przyciskiem myszy moduł w eksploratorze i wybierz „Otwórz ustawienia modułu”
Jason Robinson
Te ustawienia można również znaleźć w Plik -> Struktura projektu -> Właściwości
ChumiestBucket
10

Dla mnie był to wpis kompilacji „progaurd” w moim build.gradle. Usunąłem całą sekcję kompilacji, a następnie ponownie zsynchronizowałem i problem został rozwiązany.

Helzgate
źródło
Pracował dla mnie! Dzięki! Używanie kanarowej wersji 1.0RC 1. Używanie minifyEnabled truelub minifyEnabled falsebrak definiowania proguardFiles.
Kalem,
Nie zapominaj również, że projekty AndroidLibrary nie uruchamiają proguard stackoverflow.com/a/10992604/665823 .
Kalem,
4

Korzystam z Androida Studio 3.1.4 i miałem taki problem podczas przechodzenia z mojej gałęzi programistycznej z niższym docelowym interfejsem API do innej gałęzi z docelowym interfejsem API Oreo. Wypróbowałem pierwsze rozwiązanie, które zadziałało, ale jest dość trudne, a drugie rozwiązanie nie rozwiązało problemu.

Moje rozwiązanie Gdy problem pojawił się ponownie, próbowałem nieznacznie zmodyfikować plik oceny aplikacji na tyle, aby AS poprosił mnie o synchronizację plików, i to załatwiło sprawę. Następnie usunąłem zmianę.

Wydaje mi się, że „Synchronizacja projektu z plikami Gradle” może również działać, ale sam tego nie próbowałem

Mam nadzieję, że to pomoże

Aenon
źródło
3

Istnieje znacznie łatwiejsze rozwiązanie wbudowane w Android Studio i zwykle działa dla mnie bez potrzeby użycia brutalnej siły wymienionej w innych odpowiedziach - więc powinieneś spróbować najpierw: wprowadź opis zdjęcia tutaj

kliknij symbol „gradle” po prawej stronie Android Studio, a następnie narzędzie „Odśwież wszystkie projekty Gradle”.

Amir Uval
źródło
2

Myślałem, że też to tam wyrzucę:

rzeczą, która działała dla mnie, była zmiana mojego wariantu kompilacji z powrotem na wariant, który działał wcześniej. Z jakiegoś powodu zmieniłem to wcześniej (i zapomniałem dlaczego).

tak czy inaczej, najlepiej jest zapamiętać, co zmieniłeś tego dnia (może to być coś tak drobnego jak czyszczenie lub powrót do poprzedniego git commit) ... itd.

pomaga także spróbować ponownie zsynchronizować grad i wymusić odbudowę.

David T.
źródło
1

Przez kilka godzin zmagałem się z tym samym problemem. Wygląda na to, że zbudowanie mojego projektu z wiersza poleceń załatwiło sprawę.

Dokładne kroki -

  1. Sklonowane świeże repozytorium (żadne pliki studyjne Androida nie są w repo)
  2. Zbudowany projekt debugowania z wiersza poleceń (./gradlew clean assembleDebug)
  3. Otwórz Android Studio, zaimportuj projekt

Aby sprawdzić, czy to zadziałało, sprawdź w folderze pakietów rozstrzelonych projektów, sprawdź bibliotekę i znajdź klas.jar. Jeśli można ją rozbudowywać, wszystko będzie dobrze.

edycja - znalazłem po wyczyszczeniu w studiu Androida, znowu się zepsuł. Więc jeśli musisz wyczyścić, musisz powtórzyć ten proces.

Kevin Grant
źródło
nie wiem, na czym polegał problem, ale stopniowanie czystego montażu Debug działa i wszystko jest na razie w porządku
Killer
1

Żadna z tych metod nie pomogła mi w Android Studio 0.5.8.

Moim rozwiązaniem było usunięcie katalogu ~ / .AndroidStudioPreview (w Ubuntu). Niestety nie mam pojęcia, gdzie to jest w innym systemie operacyjnym. W tym katalogu są przechowywane pliki tymczasowe i ustawienia Android Studio, więc nie zauważyłem wszystkich moich ustawień. Ale to działa!

DmitryDzz
źródło
Pracowałem też dla mnie. (Android Studio 0.6.0 na elementarnym systemie operacyjnym)
rogeriolino
1

Innym sposobem jest pobranie JDK 1.7 i zmiana ścieżki z Android Studio w komunikacie o błędzie .. i wybranie folderu domowego znajdującego się w folderze Jdk 1.7

Panos
źródło
1

Mam dzisiaj ten sam problem. Naprawiono to, zmieniając lokalizację jdk w strukturze projektu z \java\jdk1.7.0_05na\java\jdk1.7.0_25 (o której istnieniu nie wiedziałem do tej pory).

Używam Androida Studio 0.8.6.

otwarte_okna_media
źródło
1

Naprawiłem to poprzez usunięcie settings.gradlez mojego podprojektu modułu. To projekt Java Gradle z własnym settings.gradleplikiem, który w jakiś sposób go psuje.

Dzięki temu facetowi: https://stackoverflow.com/a/33978721/425238

białybrow
źródło
1

Próbowałem wyczyścić projekt, a następnie unieważnić pamięć podręczną, ale żaden z nich nie zadziałał. To, co zadziałało, to skomentowanie wszystkich moich zależności w build.gradle (aplikacja), a następnie synchronizacja, a następnie usunięcie komentarzy z zależności i ponowne zsynchronizowanie. Bob jest Twoim wujkiem.

CKP78
źródło
0

Napotkałem podobny problem, ale w moim przypadku wykonałem następujące kroki:

1) Projekt .inside w folderze .idea otwórz moduły.xml. 2) .Sprawdź, czy istnieją dwa wpisy dla tego samego pliku IML. 3) .Usuń jeden ze zduplikowanych wpisów i zamknij studio Android lub ponownie skompiluj plik stopni.

W moim przypadku zadziałało. Mam nadzieję, że to pomoże

Gagandeep Singh
źródło
0

Rozwiązałem to, ustawiając JDK. Dostałem wyskakujące okienko z informacją, że Instalator JDK, kiedy umieściłem mysz nad błędem.

varghesekutty
źródło
0

Miałem ten sam problem, żadne z wymienionych tutaj rozwiązań nie zadziałało. Problemem były moje pliki źródłowe, które nie znajdowały się w odpowiednim folderze.

Struktura katalogów MUSI być:

[project]\[module]\src\main\java\[yourpackage]\[yourclass.java]

Rémy DAVID
źródło
0

W końcu zorientowałem się, co powoduje ten problem.

Właściwie powinieneś unikać pchania .idea/librariesfolderu do swojego repozytorium. Tworzy dziwne rzeczy w Android Studio, które mają tendencję do usuwania wszystkich pobranych bibliotek.

Jeśli masz historię zatwierdzeń, po prostu odtwórz wszystkie brakujące pliki bibliotek i unikaj ich ponownego zatwierdzania. W przeciwnym razie wystarczy usunąć cały .ideafolder i ponownie zaimportować go do AS.

Adrien Cadet
źródło
0

spróbuj zmienić swój build.gradle o następującej wartości:

android {compileSdkVersion 18 buildToolsVersion '21 .0.1 '

defaultConfig {
    minSdkVersion 18
    targetSdkVersion 18
}
Fakher
źródło
0

Używam wspólnych preferencji, ale Android Studio narzekało na symbol edytora. Potem dodałem

import android.content.SharedPreferences.Editor;

i symbol jest teraz fajny.

Badr
źródło
0

Sprawdź, czy masz ścieżkę projektu, która zawiera znaki specjalne, takie jak! (wykrzyknik).

W podobnym problemie, z jakim się spotkałem , była to główna przyczyna - ponieważ wiele aplikacji Java wydaje się nie tolerować takich znaków specjalnych (np. Wykonanie „gradlew clean” z terminala nie powiedzie się i spowoduje wygenerowanie wyjątku RunTimeException). Żadne z innych rozwiązań opublikowanych online nie pomogło mi. Ale kiedy już usunąłem! ze ścieżki i zrobił czystą kompilację, Android Studio działało magicznie.

Jim C.
źródło
0

Próbowałem wszystkiego wymienionego tutaj. Następnie sprawdziłem mój androidmanifest.xml. Miałem trochę niedopasowane niedopasowanie z powodu zmian nazw folderów i nazw pakietów.

JDOaktown
źródło
0

W moim projekcie wielomodułowym problem polegał na tym, że wersja „com.android.support:appcompat-v7” w module A miała „22.0.0”, ale w B - „22.2.0”.

Rozwiązanie : upewnij się, że
1. wersja wspólnych bibliotek jest taka sama wśród modułów.
2. Każdy moduł kompiluje się bez błędów (spróbuj zbudować każdy z nich z CLI).

surlac
źródło
0

Pamiętaj, że nazwy plików i specjalnie folderów mogą powodować ten błąd. Na przykład, jeśli masz folder „Pomocnicy”, a pakiet plików w tym folderze to „com.whokolwiek.helpers”, nie spowoduje to żadnego błędu kompilacji, ale spowoduje, że studio Android nie załaduje symboli w tym folderze . Jednym z typowych powodów jest to, że gdy nazywasz folder z pierwszą wielką literą, zatwierdzasz go w Git, a później zmieniasz nazwę folderu na małe litery. System Git nie rozpozna zmiany, co spowoduje rozbieżność między repozytoriami lokalnymi i zdalnymi, na które wpływ będą miały tylko nowe klony repozytoriów.

Eduardo Cobuci
źródło
0

Miałem znacznie dziwniejsze rozwiązanie. Jeśli ktoś na to wpadnie, warto dokładnie sprawdzić plik oceny. Okazuje się, że kiedy klonowałem ten git i gradn runnning, usunąłem jedną linię z mojego pliku build.gradle (aplikacji).

dependencies {
     provided files(providedFiles)

Oczywiście problemem było po prostu dodanie go z powrotem i ponowna synchronizacja z gradle.

Blaze Gawlik
źródło
0

Miałem podobny problem, kiedy przebudowałem plik AAR i zastąpiłem starszy w moim projekcie nowym. Przejrzałem wszystkie rozwiązania tutaj i żadne nie rozwiązało mojego problemu. Później zdałem sobie sprawę, że minifyEnabled ustawiono na true w projekcie bibliotecznym, który skutecznie usunął wiele martwych kodów, które nie były używane w projekcie bibliotecznym.

Moim rozwiązaniem było ustawienie minifyEnabled na false w projekcie biblioteki, złożenie aar, skopiowanie go do mojego projektu, unieważnienie pamięci podręcznej i zsynchronizowanie projektu oceny i wszystko działało dobrze.

Cool Guy CG
źródło