Próbuję wdrożyć nową bibliotekę obsługi ActionBar, która została wydana przez Google kilka dni temu. W przeszłości z powodzeniem zaimplementowałem ActionBarSherlock bez żadnych problemów, korzystając z tej samej metody wymienionej na stronie konfiguracji biblioteki pomocy Google Developer's Support - korzystając z przewodnika na temat dołączania zasobów (podobnie jak w przypadku ActionBarSherlock). Mam również projekt biblioteki załadowany do mojego projektu jako biblioteki.
Mogę powiedzieć, że biblioteka ładuje się dobrze. Kiedy zamiast rozszerzać działanie na moim MainActivity.java, zmieniłem go, aby rozszerzyć ActionBarActivity (zgodnie z instrukcjami Google), nie występują błędy - i importuje się poprawnie.
Próbowałem nawet pomijając plik style.xml i dodając @style/Theme.AppCompat.Light
bezpośrednio do AndroidManifest.xml zarówno dla <application>
i <activity>
ze android:theme="@style/ThemeAppCompat.Light"
wszystkich prób prowadzących do tego samego błędu.
Teraz problem polega na tym, że nie mogę zmusić go do zmiany motywu, a co dopiero budować bez zgłaszania błędu. Poniżej pojawia się błąd, a następnie plik style.xml, który zmieniłem, aby użyć nowego motywu.
Mam umiarkowane doświadczenie w pracy z aplikacjami na Androida i korzystam z Eclipse z najnowszą wersją bibliotek wsparcia i zestawu SDK kompilującego z API 18 (Android 4.3).
Wystąpił błąd podczas kompilacji
error: Błąd podczas pobierania elementu nadrzędnego dla elementu: Nie znaleziono zasobu, który pasuje do podanej nazwy „@ style / Theme.AppCompat.Light”. styles.xml / ActBarTest / res / values line 3 Problem z Androidem AAPT
style.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="Theme.ProsoftStudio.ACTest" parent="@style/Theme.AppCompat.Light">
</style>
</resources>
Jakieś sugestie? To nigdy nie było problemem z ActionBarSherlock. Chcę popracować nad użyciem tej nowej biblioteki wsparcia. Wygląda na to, że ładuje się plik .jar, ale nie zasoby.
źródło
Odpowiedzi:
Musisz zrobić dalej:
File->Import (android-sdk\extras\android\support\v7)
. Wybierz „AppCompat”Project-> properties->Android.
W bibliotece sekcji „Dodaj” i wybierz „AppCompat”Uwaga: jeśli używasz „android: showAsAction” w elemencie menu, musisz zmienić prefiks android jak w przykładzie http://developer.android.com/guide/topics/ui/actionbar.html
źródło
Jeśli, podobnie jak ja, postępujesz zgodnie z samouczkiem Androida na http://developer.android.com/training/basics/actionbar/setting-up.html i nadal pojawia się ten błąd, spróbuj zmienić
AppBaseTheme
styl we wszystkichstyles.xml
plikach. Szczegółowo:W pliku
res/values/styles.xml
zmień wiersz:do:
W pliku
res/values-v11/styles.xml
zmień wiersz:do:
W pliku
res/values-v14/styles.xml
zmień wiersz:do:
Teraz aplikacja powinna działać poprawnie.
źródło
res/values/styles.xml
nowego projektu na Androida. Przynajmniej nie, kiedy go tworzyszandroid create project
.Jest to problem, który może się zdarzyć w Android Studio, jeśli zmodyfikujesz moduły struktury projektu. W takim przypadku może być konieczne ponowne dodanie zależności. W edytorze tekstu edytuj plik „build.gradle”, aby uwzględnić wymagane zależności:
Powinno to zaktualizować plik „{twoja_projekt_nazwa} .iml” o składniki lib:
źródło
Podzielę się swoim doświadczeniem z tym problemem. Z tego powodu zwariowałem, ale dowiedziałem się, że problemem był błąd związany z samym Eclipse, a nie z moim kodem: w Eclipse nie mogę odwołać się do projektu biblioteki Androida w innym projekcie Androida
Tak więc, jeśli masz bibliotekę wsparcia Androida na dysku C: i swój projekt na dysku D: na swoim komputerze, Eclipse nie będzie działał poprawnie i nie będzie wiedział, gdzie jest biblioteka wsparcia Androida (zielony znaczek zmienia się w czerwony krzyżyk ). Aby rozwiązać ten problem, musisz przenieść oba projekty na ten sam dysk twardy.
źródło
Wykonałem następujące czynności w Eclipse z projektem Biblioteki wsparcia Android ( APL ) i Projektem głównym ( MP ):
Zapewniłem, że zarówno APL, jak i MP mieli to samo
minSdkVersion
itargetSdkVersion
.Dodano APL jako zależność kompilacji dla MP :
Przejdź do „Właściwości> Ścieżka kompilacji Java” MP , a następnie
Wybierz zakładkę „Projekty” i dodaj APL .
We właściwościach MP , w „Android”, dodano odwołanie do APL w bibliotece.
1 i 2 otrzymały referencje do klas Java działających poprawnie ... jednak nadal widziałem błąd w MP
manifest.xml
dla próby odniesienia się z APL . Zniknęło to dopiero, gdy wykonałem krok 3.@style/Theme.AppCompat.Light
źródło
Jest trochę późno, ale oto jak to zrobić w AndroidStudio!
Kliknij aplikację prawym przyciskiem myszy, aby przejść do właściwości goto
Przejdź do Zależności i kliknij znak „+” i wybierz zależność od biblioteki Wybierz appcompat-v7
źródło
Rozwiązanie IntelliJ IDEA.
1. Uruchom Menedżera zestawu SDK systemu Android i zainstaluj najnowszą wersję zestawu SDK i biblioteki obsługi systemu Android . Wersja SDK i Libarary Obsługi Androida powinna być taka sama ! 23 w moim przypadku. Inne warianty podają błędy. 2. Zmień wersję SDK projektu IDEA na ostatnią zainstalowaną w poprzednim kroku. (ps. nie możesz używać Maven).
3. Dodaj nowy moduł z istniejącego źródła do projektu IDEA.
4. Dodaj projekt AppCompat. !!! Powinny być również w ramach ostatniego zestawu SDK! (ps. Powiedz „Tak” w dowolnym miejscu na tym etapie)
5. Otwórz ustawienia głównego modułu projektu i dodaj do niego kolejne 3 zależności:
5.1 Zależność modułu. Wybierz android-support-v7-appcompat
5.2 2 szt. Zależności bibliotek. Dodaj android-sdk \ extras \ android \ support \ v7 \ appcompat \ libs \ android-support-v4.jar i android-support-v4 \ android-support-v7-appcompat.jar
W sumie będzie to:
6. Bardzo ważne !!!
Dodaj motyw z prefiksem @style (nie innym!) .
Rozwiązanie Android Studio.
1. Uruchom Menedżera zestawu SDK systemu Android i zainstaluj najnowszą wersję zestawu SDK i biblioteki obsługi systemu Android . Wersja SDK i Libarary Obsługi Androida powinna być taka sama ! 23 w moim przypadku. Inne warianty podają błędy.
2. Dodaj obok build.gradle
PS Jeśli dopiero zaczynasz przygodę z programowaniem na Androida, zdecydowanie zalecamy przejście na Android Studio i Gradle - uzyskasz najprostszy sposób zarządzania aplikacją na Androida.
źródło
Dla Androida Studio 1.2.2
Usuń „android” z
parent
wartości atrybutu:źródło
potrzebujesz referencji $ ANDROID_SDK / extras / android / support / v7 / appcompat
źródło
appcompat
jako Biblioteka Androida, głównym zasobem projektu można znaleźć motyw z appcompatW przypadku IntelliJ IDEA lub Android Studio:
Dodaj to do pliku kompilacji app.gradle
Zamień na
-v:xx.0+
swój cel kompilacji, jeśli masz 19 platform, musi to być:źródło
Postępuj zgodnie z instrukcjami @rcdmk. Usuń obsługę Androida v4.jar ze swojego projektu. Jest w konflikcie z nową zaktualizowaną wersją znalezioną w appcompat.
źródło
Miałem ten sam problem i marnowałem 4-5 godzin na rozwiązanie. Mój problem rozwiązany;
Mam nadzieję, że znajdziesz swoje rozwiązanie.
źródło
Mój problem rozwiązano, wykonując następujące kroki
dodaj następujący plik do katalogu libs projektu
<SDK-PATH>\extras\android\support\v13android-support-v13.jar
W razie potrzeby uruchom ponownie Eclipse. Otóż to. Twój problem powinien zniknąć.
źródło
Pracuje:
źródło
Ponieważ Dialog importowy jest inny w Android Studio 1.0.1, nie mogłem uruchomić wersji Svyatoslav Lobachs.
Zamiast tego pobrałem „Android Support Repository” w Menedżerze SDK. Następnie dodano
do
build.gradle
. Pracował dla mnie.źródło
http://developer.android.com/tools/support-library/setup.html ma błąd. W Właściwość-> Ścieżka kompilacji Java -> „Projekt” i „Zamów i eksportuj” nie powinno być żadnych plików jar. Usunięcie ich i sprawdzenie „Prywatnych bibliotek Androida” i „Zależności Androida” rozwiązało mój problem.
źródło
Ten sam problem, co PO, wystąpił po kliknięciu mojego projektu prawym przyciskiem myszy i wybraniu opcji Zamknij niepowiązane projekty .
W moim przypadku problem został rozwiązany przez ponowne otwarcie projektu appcompat_v7 i wyczyszczenie / przebudowanie obu projektów.
źródło
Zdarzyło mi się, gdy Eclipse (Luna) / AndroidSDK (nie Android Stduio) był używany z najnowszymi narzędziami i biblioteką od 14 stycznia 2015 r. Podczas projektu takiego jak HelloWorld. Kiedy zainstalowałem te narzędzia i uczyniłem HelloWorld pierwszą aplikacją, zaakceptowałem wszystkie wartości domyślne. - To jest problem w moim przypadku.
Najpierw sprawdź, czy biblioteka „Android Support Library” jest zainstalowana. Jeśli nie, zainstaluj go. Nie jest domyślnie instalowany. Możesz to wszystko zrobić w „Menedżerze SDK Androida” dostępnym w menu.
(Menedżer zestawu SDK systemu Android -> Dodatkowe -> Biblioteka obsługi systemu Android)
Błogosławieństwa, (dłużnik) <> <
źródło
Najszybsze rozwiązanie:
kliknij prawym przyciskiem myszy na projekt -> Narzędzia Android -> Dodaj bibliotekę wsparcia ..
źródło
Zrobiłem z tego naprawdę głupi błąd. Kiedy otrzymywałem ten sam błąd za każdym razem, nie mogłem zrozumieć, co było nie tak. potem kliknęło mnie, że po zamknięciu wszystkich projektów w moim miejscu pracy i to był czas, od którego zaczęły się wszystkie problemy. Więc po prostu sprawdź, czy Twój „appcompat_v7” nie jest zamknięty. Jeśli tak, otwórz projekt, klikając dwukrotnie, a następnie wyczyść i ponownie zbuduj projekt. W moim przypadku błędy zniknęły. Miłego kodowania!
źródło
Nie jestem pewien, czy biblioteka wsparcia dla wersji 13 była dostępna, kiedy to pytanie zostało opublikowane, ale na wypadek, gdyby ktoś nadal miał problemy, zauważyłem, że dodanie
android-support-v13.jar
poprawi wszystko. Oto jak to zrobiłem:<your sdk path>\extras\android\support\v13\android-support-v13.jar
źródło
W przypadku Androida Studio lub IntelliJ wystarczy zaktualizować swoje zależności w gradle.build. Użyłem następujących:
źródło
Nie wiem, ilu z was to zauważyło. Wspieraj bibliotekę „appcompat_v7”, a twój projekt powinien znajdować się w tym samym katalogu (mam na myśli katalog obszaru roboczego). Nie czyść projektu, dopóki nie będzie wolny od błędów, inaczej będziesz miał trudny czas z R.javą
źródło
Lepiej przygotuj nowy projekt pod dowolną nazwą, a następnie użyj appcompat_v7, który program tworzy.
W bibliotece sekcji
Add
wybierz bibliotekę appcompat.źródło
w zaćmieniu kliknij prawym przyciskiem myszy swój projekt-> wybierz ścieżkę kompilacji, a następnie wybierz konfiguruj ścieżkę kompilacji. w oknie wybierz żądany plik jar i odśwież projekt
źródło
Przyjęte rozwiązanie kiedyś działało dla mnie, ale nie teraz. Musiałem odtworzyć cześć tego samego świata (!) W nowym obszarze roboczym, zmusić go do kompilacji, a następnie skopiowałem wszystkie katalogi, w tym
.hg
i.hgignore
.hg diff
przedstawia:Wygląda na to, że Eclipse chce się skompilować dla API 21 i nic nie robi z API 19. Darkly.
źródło
Jeśli dodałeś bibliotekę appCompat i podałeś odpowiednie odniesienie do appCompat z lokalizacji SDK, spróbuj „unieważnić pamięci podręczne / Uruchom ponownie” .
Można go znaleźć w menu „Plik” w Android Studio.
źródło
W moim przypadku problem wystąpił, ponieważ chciałem użyć zestawu SDK, który nie zawiera wymaganej biblioteki. Kiedy zwiększyłem min. Poziom SDK problem zniknął. Oczywiście, włączając bezpośrednio samą bibliotekę, należy również usunąć błąd.
źródło
Zapomnieć wszystko. Wystarczy użyć biblioteki appcompat pobranej za pomocą Android Studio. Ma wszystkie brakujące definicje. Bez względu na to, czy korzystasz z Eclipse, czy nie.
źródło
Miałem ten sam problem i nawet po zaimportowaniu / dodaniu jar / biblioteki, jak wspomniano w odpowiedziach, nie rozwiązałoby to błędu. Z frustracji właśnie utworzyłem nowy obszar roboczy i utworzyłem nowy projekt Androida, który automatycznie zaimportował appcompat_v7 i nie było żadnych błędów podczas czyszczenia i kompilacji. Nie musiałem ręcznie importować pojedynczego słoika / biblioteki. Tylko do twojej wiadomości Używam Eclipse Mars.1 Release (4.5.1) i napotykałem dokładnie ten sam problem za każdym razem, gdy tworzyłem nowy projekt Androida.
źródło