82

Właśnie próbowałem użyć Androida Studio. Stworzyłem pusty projekt i próbowałem utworzyć Activity, który rozszerza się o AppCompatActivity. Unfortunalty Android Studio "mówi", żeNie można rozpoznać symbolu "AppCompatActivity"

Nie można rozwiązać symbol 'AppCompatActivity'

mam compile "com.android.support:appcompat-v7:22.0.+" w liście zależności mojego "APP" modułu i przebudowany projektowych kilka razy. Jednak mogę używać tylko ActionBarActivity. Co ja robię źle?

+0

Czy korzystasz z wersji prawej wersji kompilacji? czy twój sdk jest aktualny? –

+5

@Lingviston nie używasz odpowiedniej wersji. Powinieneś użyć 'com.android.support: appcompat-v7: 22.1.0' – damson

+2

Cóż, nie było takiej wersji w tym czasie. – Lingviston

Odpowiedz

-1

Jednak mogę używać ActionBarActivity.

Prawidłowo. W przypadku biblioteki appcompat-v7 jest to klasa podstawowa do wykorzystania w działaniach, gdy chcesz add an action bar.

Co robię źle?

Próba użycia klasy, która nie istnieje. :-)

+0

Argh. Nie wiem dlaczego, ale Android Studio sugeruje, żebym używał AppCompatActivity, jeśli nie ma zależności od v7. Chociaż jest to nowa nazwa klasy po wprowadzeniu Theme.AppCompat. http://imgur.com/07ykzsy nie wiem dlaczego. – Lingviston

+0

@Lingviston: Cóż, teraz to dziwne. Nie jestem w stanie odtworzyć tego w tej chwili, ale możesz rozważyć [zgłoszenie błędu] (http://b.android.com) krokami, w jaki sposób otrzymujesz tę sugestię. – CommonsWare

+0

No i tak. Zostałem skonfrontowany z sugestią importu "AppCompatActivity". – Lingviston

67

Dziś (22 kwietnia) można użyć nowego AppCompatActivity wydanego z bibliotekami wsparcia v 22.1.0.

Wystarczy zmienić swoją zależność:

compile "com.android.support:appcompat-v7:22.1.0" 

Here można znaleźć więcej informacji na temat tej nowej klasy.

+6

hmm Używam wyższej wersji, ale nadal napotykam problem 'compile 'com.android.support: appcompat-v7: 23.1.1'' – behelit

6

Można użyć nowego AppCompatActivity AppCompat-v7. 22,1 + Wystarczy dodać do swojej Gradle:

kompilacji 'com.android.support:appcompat-v7:22.1.1'

117

Mały dodatek do innych odpowiedzi tutaj, dla każdego, kto ma ten sam błąd podczas korzystania z właściwej wersji biblioteki i odpowiedniej klasy.

Kiedy przeniesieni do appcompat-v7:22.1.0, w którym ActionBarActivity jest przestarzała i pusta i AppCompatActivty jest droga, z powodu jakiejś usterki w Android Studio, to nie dość podnieść na zmianę wersji. To znaczy. chociaż Gradle prowadził bez błędów, sama IDE powtarzał Cannot resolve symbol 'AppCompatActivity' (i to też nie był dostępny poprzez poszukiwanie Ctrl+N)

Spojrzałem w folderze .idea/libraries i zauważył, że nie ma stosownych metafile dla nowej wersji lib.

Używając starego niezawodnego pliku File-> Invalidate Caches/Restart załatwił sprawę. Zawsze próbuj tego, gdy czujesz, że coś jest nie tak z Androidem Studio.

+2

To nie wydaje się działać dla mnie. :( – shashi

+5

brzmiało logicznie, a potem działało jak magia, Dzięki – smoothumut

+0

Nie działa też dla mnie, za każdym razem, gdy aktualizuję kompilację aplikacji, dostaję wiele problemów – 3c71

10

Sprawdź pisownię też zmarnowałem cały mój dzień szuka rozwiązań, kiedy rzeczywiście wpisane AppCompactActivity zamiast AppCompatActivity

+3

Jesteś ratownikiem, więc +1 do tego – kevthanewversi

+0

Myślę, że mógłbym spędzić jeden dzień na tym! Dzięki. – Fabio

0

Dla mnie problem został rozwiązany, kiedy zaktualizowane Gradle zbudować wersję. Nie wiem dlaczego?

5

Wystąpił ten sam problem z Androidem SDK 23 podczas rozwijania na komputerze Mac OS X Yosemite. Okazało się, że nie miałem pakietu Java SDK 7.

Po zainstalowaniu Java SDK 7 i skierowaniu SDK z Android Studio do nowego SDK, wszystko działało dla mnie.

Oto kroki, że następuje:

1) Shutdown Android SDK

2) Zainstaluj Java SDK dla systemu Mac OS X z http://www.oracle.com/technetwork/java/javase/downloads/index.html

3) Uruchom Android SDK i punkty SDK dla tego projektu do nowego 1.7 Java SDK, przechodząc do menu Plik -> Siatka Project -> JDK Skąd

4) Restart Android Studio

Nadzieję, że ta pomoc będzie pomocna.

8

Spróbuj tego. W Android Studio, po umieszczeniu zależności w pliku build.gradle. Przejdź do Build -> Clean Project.

To zadziałało dla mnie.

0

Powiem ci, jak rozwiązałem ten problem w czasie zaćmienia. Pobierz plik ZIP z tego linku. https://github.com/dandar3/android-support-v7-appcompat następnie wyodrębnij ten plik, otwórz projekt, w folderze lib zobaczysz jeden plik JAR o nazwie "Android-support-v7-appcompat", dodaj ten plik jar do swojego projektu. To jest to. enter image description here

2

Po aktualizacji do najnowszej biblioteki wsparcia, musiałem uaktualnić do najnowszej Android studio (beta) wersji i wersji Gradle przed IDE uznane AppCompatActivity ponownie (unieważniania pamięci podręcznej i restart nie załatwi)

1

Pamiętaj, aby nacisnąć Alt + Wpisz lub dodaj import.

import android.support.v7.app.AppCompatActivity; 
0

Może to może być różnicy wersji w Gradle poziomu aplikacji sprawdź to raz, a potem odbudować

9

mam błąd dla AppCompatActivity i wiele innych klas Cannot resolve symbol & metody po aktualizacji Android Studio z 2.2.3 do 2.3, aktualizowanie wtyczki Android Gradle do wersji 2.3.0 i aktualizowanie Gradle do wersji 3.3.

File -> Invalidate Caches/Restart nie rozwiązało problemu.

Preferences -> Build, Execution, Deployment -> Gradle pokazał Use local gradle distribution wybrany z Gradle domu:/Applications/Android Studio.app/Contents/gradle/gradle-2.14.1 i ostrzeżenie wyświetlane mówiąc Gradle lokalizacja była błędna.

Rozwiązany problem, wybierając Use default gradle wrapper (recommended).
Prawdopodobnie wskazywałoby to również na nowe lokalne miejsce dystrybucji.

+0

Dziękuję bardzo! To właśnie naprawiło to –

4

Dla mnie problem został rozwiązany, gdy zaktualizowałem appcompact v7 do najnowszego ..

kompilacji 'com.android.support:appcompat-v7:25.3.0'

Nadzieja to pomaga ... :)

13

mam to naprawić przechodząc do build.gradle pliku w zależności appcompat jeden, coś skompilować 'com.android.support:appcompat-v7:XX.X.X'

zmienił go skompilować 'com.android.support:appcompat-v7:XX.X.+'

Następnie kliknij Sync. Wszystkie czerwone, falujące linie powinny przejść, jeśli wszystko inne w twoim kodzie jest poprawne.

+3

+1, OMG to działało dla mnie. :) BTW znak '+' jest dla _Hey Gradle jeśli jakakolwiek nowa wersja tego samego wydania jest dostępna dla siebie_ :). Używałem 'com.android.support: appcompat-v7: 25.3.1' teraz to zrobiło sztuczkę:' com.android.support: appcompat-v7: 25.3. + 'Chociaż AS ostrzega mnie: ** Unikaj używania + w numerach wersji; może prowadzić do nieprzewidywalnych i niepowtarzalnych kompilacji (com.android.support:appcompat-v7:25.3.+)** – fWd82

+0

to działało dla mnie, dzięki –

1

Dodaj tę zależność w .gradle.

Postępuj zgodnie z poniższym przykładem.

dependencies { 

    compile 'com.android.support:appcompat-v7:22.1.0' 
} 
+0

Używam ': 22.0.0' i nie mogę znaleźć klasy' AppCompatActivity'. Muszę ustawić co najmniej "22.1.0". Dzięki. – haxpor