Zawsze programowałem Androida z Eclipse i postanowiłem rozpocząć migrację do Android Studio . Zdecydowałem się użyć tego samego zestawu SDK, który już miałem dla Eclipse, a następnie:
- Rozpoczął nowy projekt
- Ustaw minimum SDK 4.0 (API Level 14)
- Wybierz opcję Puste działanie
- Używane Domyślne nazwy dla Nazwa działania i Nazwa układu
- Hit Finish
Po kilku sekundach Gradle kończy kompilację i generuje mi dwa błędy z następującymi komunikatami w pliku Teste4 \ app \ build \ intermediates / exploded-aar \ com.android.support \ appcompat-v7 \ 23.0.0 \ res \ values -v23 \ wartości-v23.xml:
Błąd: (2) Błąd podczas pobierania elementu nadrzędnego dla elementu: Nie znaleziono zasobu, który pasuje do podanej nazwy „android: TextAppearance.Material.Widget.Button.Inverse”.
Błąd: (2) Błąd podczas pobierania elementu nadrzędnego dla elementu: Nie znaleziono zasobu pasującego do podanej nazwy „android: Widget.Material.Button.Colored”.
W obszarze Plik -> Struktura projektu -> Moduły: aplikacja (lewa kolumna) -> karta Właściwości , skonfigurowałem następujące wersje:
- „Kompiluj wersję SDK”: Android 5.1 (API poziom 22)
- „Wersja narzędzi do budowania”: 23.0.2
Co powinienem zrobić, aby to naprawić?
Próbowałem już tego, co zostało zasugerowane w pytaniu Przepełnienie stosu appcompat-v7: 21.0.0 ': Nie znaleziono zasobu pasującego do podanej nazwy: attr' android: actionModeShareDrawable ' , ale to nie zadziałało.
źródło
build.gradle
, albo możesz użyć GUI, otwierając właściwości projektu i przechodząc do zakładki „zależności”.Dzieje się tak, ponieważ po aktualizacji Android Studio domyślnie używa interfejsu API w wersji 23 .
Dla mnie działało:
Naciśnij Ctrl+ Shift+ Alt+, Saby przejść do strony struktury projektu. Przejdź do zakładki właściwości i zmień 23.0.0 na 22.0.1 (lub odpowiednik tego, czego używałeś wcześniej) w obszarze narzędzia do budowania i przebuduj projekt.
Jeśli to nie zadziała, przejdź do gradle: app, a następnie
Edytuj wersję 7: 23.0.0 do wersji 7 : 22.2.1, jak pokazano powyżej, i zsynchronizuj stopień. To na pewno zadziała.
źródło
v23/values-23.xml
pliku. Zmieniłem wartości na stronie struktury projektu, przebuduj aplikację. Ale wciąż stoi problem :(Po zaktualizowaniu Android Studio domyślnie korzysta z interfejsu API w wersji 23, co jest główną przyczyną jego wystąpienia. Więc,
Najpierw sprawdź wersję AppCompat w build.gradle (Module: app) To znaczy,
Jeśli po zmianie na 23 wystąpi błąd, po prostu pobierz
Compile Sdk Version to API 23, and Build Tools Version to 23.0.0
z Menedżera SDK. Jeśli już pobrany, to:
Kliknij przycisk Menedżer SDK i otwórz okno dialogowe.
Kliknij Platforma SDK i sprawdź, czy Android 6.0 jest pobrany, czy nie.
jeśli nie, najpierw pobierz to. Po zakończeniu pobierania kliknij Apply.
Teraz musisz zastosować zmiany w projekcie od ustawienia. Następnie naciśnij Ctrl+ Alt+ Shift+,S aby otworzyć ustawienie
Nie zapomnij odbudować swojego projektu.
Twój błąd zniknie.
źródło
Jeśli próbujesz zmienić cel na poprzednią wersję GooglePlayServices lub AppCompatv7 i to nie działa, sprawdź, czy masz zależność od bibliotek projektów, ten projekt będzie kierowany na najnowszą wersję którejkolwiek z tych bibliotek. Zdarzyło mi się to z projektem Google Maps Utils Library:
zastąpić:
do
Następnie możesz kontynuować pełne kierowanie API 22
Jeśli nadal się nie kompiluje, czasem warto ustawić API compileSdkVersion na 23, a targetSdkVersion na 22.
źródło
Zgadzam się z poprzednią odpowiedzią. Kompilowana wersja zestawu SDK musi być zgodna z biblioteką obsługi. Oto co zrobiłem.
Następnie powinien budować bez problemu.
źródło
Musisz ustawić compileSdkVersion na 23.
Od 23 Android API usunięte nieaktualne pakietów Apache, więc jeśli ich używać do wniosków serwera, trzeba dodać useLibrary
'org.apache.http.legacy'
abybuild.gradle
jak stwierdzono w ten link:źródło
Ten problem został podniesiony, ponieważ teraz kompilowana wersja zestawu SDK musi być zgodna z główną wersją biblioteki obsługi systemu Android.
W moim przypadku mam
Android Support Library
wersję 23, więc musiałem się skompilować przeciwkoAndroid SDK version 23
i musiałem to zmienić w moimbuild.gradle
pliku:Cóż, niektórzy z was będą musieli zainstalować SDK,
Android 6.0 (API 23)
i nie zapomnij zsynchronizować projektu z plikami stopni
źródło
źródło
Znalazłem rozwiązanie, problem zaczął się po aktualizacji sdk, potem użyłem innej wersji buildToolsVersion ('22 .0.1 ') i korzystałem z innej biblioteki wsparcia, takiej jak kompilacja' com.android.support:appcompat-v7:23.0.0 ' , pokazuję na obrazku poniżej
To powodowało problem z „ android.widget.Material ...” Następnie użyłem tej samej wersji dla biblioteki wsparcia, takiej jak kompilacja „com.android.support:appcompat-v7:22.0.1” i jej GOTOWE. (Pokazuje na poniższym zrzucie ekranu)
źródło
Powinieneś skompilować swój projekt z najnowszą wersją, więc zaktualizuj i zainstaluj z pakietu SDK. Zsynchronizuj swój projekt z
sync project with Gradle file
przyciskiem.Możesz także kontynuować z istniejącą wersją, ale sprawdź, czy została poprawnie zainstalowana poniżej obrazu wskazującego na poprawnie zainstalowany interfejs API 22.
W razie potrzeby zsynchronizuj projekt.
to może pomóc.
źródło
Jak wskazał Tanis.7x, wersja biblioteki wsparcia (23) nie pasuje do targetSdkVersion (22)
Możesz to naprawić, wykonując następujące czynności:
W
build.grade
pliku modułu aplikacji zmień następujący wiersz koduDo
Spowoduje to użycie najnowszej wersji wersji appcompat zgodnej z SdkVersion 22.
źródło
Kompilowana wersja zestawu SDK musi być zgodna z wersją główną biblioteki obsługi. To jest rozwiązanie twojego problemu. Możesz to łatwo sprawdzić w skrypcie Gradle w
build.gradle
pliku. Fx: jeśli maszcompileSdkVersion
23 lata, twoja biblioteka kompilacji musi zaczynać się o 23.I zawsze sprawdź, czy Twój Android Studoi ma obsługiwany poziom API. Możesz to sprawdzić w swoim zestawie SDK systemu Android:
źródło
W moim przypadku była to wyższa wersja usług Google Play. Ustawiłem je na 7.0.0 (nie 8.x) i wszystko było w porządku.
źródło
Chciałem obniżyć wersję API 23 do 22 i dostałem ten błąd. Musiałem zmienić wszystkie
build.gradle
pliki w projekcie, aby skompilować.źródło
Pomogło mi to: dodanie konkretnej platformy Android
Co należy zrobić, jest następujący ... W moim przypadku było to
cordova
jednak to samo odnosi się doionic
,phonegap
i inne ramy, takie jak:cordova platform list
. Zobaczysz coś takiego:usunąć platformy Android:
cordova platform remove android
.następnie dodać konkretną platformę Android:
cordova platform add [email protected]
.Powodzenia! :)
źródło
Mam te same problemy. Rozwiązałem problem, aktualizując gradle.build dla każdego podmodułu do najnowszej wersji kompilatora.
źródło
Wszystko jest świetnie, ale nikt z was nie wyjaśnił, skąd pobrać narzędzia do kompilacji SDK
źródło
Inne rozwiązanie: przejdź do
otwórz
.aar
plik za pomocą 7-zip lub winrar, w folderze res usuńvalues-23
folder i zapisz zmiany.źródło
w module: aplikacja (Gradle)
projekt: nameAppXXXX (Gradle)
i edytuj swoją aktywność AppCompatActivity na przykład Aktywność:
źródło
Upewnij się, że wszystkie są aktualne.
źródło
Zaktualizuj Android Studio.
Miałem ten problem z Android Studio 1.3.1 i żadna z pozostałych odpowiedzi nie działała dla mnie, ale po aktualizacji do 1.5.1 nie było żadnych problemów.
źródło
Jeśli używasz telefonu (między platformami) i masz ten sam problem powyżej, po prostu usuń platformę Android za pomocą polecenia poniżej.
platforma phonegap usunąć Androida
I dodaj to jeszcze raz.
platforma phonegap dodać Androida
Potem problem został dla mnie rozwiązany.
źródło
Jak już wspomniano inni,
compile sdk version
musisz dopasować swojąsupport library's
główną wersję. Jest to również istotne w przypadku,subprojects
gdy masz takie.W takim przypadku możesz ustawić
subprojects
kompilację wersji SDK za pomocą następującego skryptu:Dodaj ten skrypt do
build.gradle
pliku głównego .źródło
Jeśli otrzymujesz błędy nawet po pobraniu najnowszego pakietu SDK i Android Studio, oto co zrobiłem:
Mam nadzieję, że to pomaga komuś, aby nie cierpiał tak jak ja przez te kilka dni.
źródło