Mam projekt Androida, który jest przeznaczony dla Androida SDK v21. Teraz muszę debugować go na urządzeniu z Androidem 4.4 (tj. SDK v20). Jak mam nakazać Androidowi Studio dołączenie starszej wersji źródła do klas wewnętrznych, aby móc przez nie przejść?Android Studio: jak zdebugować starszą wersję Androida SDK krok po kroku
Odpowiedz
Możesz utworzyć nowe urządzenie wirtualne z Androidem z preferowanym poziomem interfejsu API i debugować aplikację na nim.
Występuje błąd w mojej aplikacji, który występuje tylko na Androida 4.4. Muszę przejść przez kod platformy, aby go prześledzić. –
Co stanie się, gdy wystąpi błąd? Czy to się psuje? – Jan
Opublikuj swój logcat, kiedy to się stanie. –
Nie mogę potwierdzić mojej odpowiedzi działa, ale działa dla mnie.
mogę wymienić mój compileSdkVersion, buildToolsVersion, minSdkVersion i targetSdkVersion z nowym jak po moim build.gradle pliku.
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.example.mytest"
minSdkVersion 15
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
Po zmianie, może nie być konieczna konwersja starego na nowy lub nowy na stary komponent SDK.
Najlepszym rozwiązaniem jest ustawienie zestawu SDK kompilacji na 20. Dzięki temu narzędzia do kompilacji będą kompilować projekt za pomocą pakietu SDK w wersji 20 i można debugować aplikację.
Podczas korzystania z kilku modułów w projekcie trzeba ustawić tę samą wersję kompilacji SDK do każdego modułu.
To nie zadziała dla żadnego projektu, który używa ostatnich API, ponieważ nie będzie już więcej kompilować ... – mbonnin
Musisz otworzyć ustawienia modułu (prawy przycisk na module aplikacji i wybierz Otwórz Ustawienia modułu lub po prostu wybierz moduł i naciśnij ⌘ + ↓ na Macu)
I wybrać compileSdk
i buildTools
do V20
Another sposobem na to jest otwarcie pliku build.gradle
dla modułu "aplikacja", aby zmienić compileSdk
i buildTools
.
Chciałbym wyjaśnić trochę przed rozwiązaniem.
Google udostępnia interfejsy API SDK w postaci plików JAR (android.jar). Pliki JAR są przechowywane pod numerem SDK LOCATION\platforms\android-API#
. Na przykład plik android.jar dla Androida 4.4 (Kitkat) API-19 znajduje się pod adresem YOUR SDK LOCATION\platforms\android-19\android.jar
.
Kompilacja Gradle z Androidem Studio używa pola compileSdkVersion
w build.gradle
aby wybrać konkretny android.jar dla kompilacji.
Co to jest compileSdkVersion
?
- Wersja API, z którą aplikacja jest kompilowana.
- Oznacza to, że można kompilować i używać funkcji API systemu Android zawartych w tej wersji interfejsu API
- Wszystkie poprzednie funkcje wersji są również uwzględniane podczas kompilacji.
- Jeśli spróbujesz użyć funkcji API 21, takiej jak
public void openCamera (String cameraId, CameraDevice.StateCallback callback, Handler handler)
Dodano na poziomie interfejsu API 21, ale ustawiono wartość compileSdkVersion na 20, pojawi się błąd kompilacji. - Jeśli ustawisz compileSdkVersion do 21 nadal można uruchomić aplikację na API 20 urządzeniu tak długo jak ścieżki wykonania swojej aplikacji nie należy próbować wywołać żadnych API specyficznych dla API 21.
Jak ustawić
compileSdkVersion
? Istnieją dwa sposoby
1) Wybierz "Plik-> struktury projektu ..."
2) Wybierz "app-> Właściwości"
3) Ustaw "Compile Sdk Verion" z rozwijanego menu na wymaganą wersję SDK.
4) "compileSdkVersion" zostanie ustawione automatycznie w pliku "build.gradle" modułu "aplikacja" o numerze .
2. Ustawianie API w pliku
gradle.build
1) Otwórz plik "APP" moduł
2) Ustaw compileSdkVersion
do wymaganej wartości, takich jak 19 do API # 19 build.gradle
.
Mam nadzieję, że pomaga ... Szczęśliwy Coding ...
To jest rozwiązanie tak. Jeśli spróbujesz to zrobić również przy użyciu biblioteki obsługi aplikacji appcompot, otrzymasz masywne błędy kompilacji. – vangorra
prostu otworzyć i zmienić ustawienia modułu compileSdk i buildTools do V20
- 1. android- jak zrobić krok po kroku kreatora
- 2. Gdzie mogę pobrać starszą wersję zestawu SDK Androida?
- 3. Django form.save krok po kroku
- 4. Jak uruchomić program Perla krok po kroku?
- 5. Wiązania WebKit JS: krok po kroku, jak
- 6. Jak zainstalować starszą wersję SCALY
- 7. Błąd: wybierz Zestaw SDK Androida w wersji Android Studio 2.0
- 8. Rhino Mocks Poradniki krok po kroku
- 9. ctags, jsctags/doctorjs, Tagbar krok po kroku
- 10. Mathematica 7 pokazująca odpowiedź krok po kroku
- 11. Krok po kroku przykład lazy-seq
- 12. Integracja Paypal z PHP krok po kroku
- 13. AngangleJS Protractor: Dzienniki krokowe krok po kroku
- 14. Krok po kroku testowanie SpecFlow dla manekinów
- 15. numpy.where() szczegółowy opis krok po kroku/przykłady
- 16. Jak debugować/wykonać program Ocaml krok po kroku?
- 17. Android Studio używający istniejącego androida sdk
- 18. Jak zainstalować starszą wersję maszynopisu?
- 19. Jak odinstalować starszą wersję xcode
- 20. Jak pobrać starszą wersję magento
- 21. Zainstaluj starszą wersję Mono
- 22. Aktualizacja krok po kroku Indy 10 w Delphi 2009
- 23. Meteor krok po kroku mój pierwszy przewodnik po aplikacjach?
- 24. Beamer: jak wyświetlać obrazy jako obrazy krok po kroku
- 25. debugger emacs: jak mogę wyjść, krok po kroku?
- 26. Jak ustalić wersję Androida SDK zainstalowanego w komputerze?
- 27. Krok po kroku, jak dodać niestandardowy krok kompilacji dla każdego pliku danego typu w Visual Studio 2010?
- 28. Hudson - Instrukcja krok po kroku konfiguracji maszyn master i slave
- 29. Czas Java Joda - pobierz i zainstaluj - krok po kroku
- 30. Krok po kroku Przykładowy JMS w Spring Framework
Może to być rozwiązanie tymczasowe: http : //stackoverflow.com/a/30054969/939193. –
Widzę, że jeśli ustawisz compileSdkVersion na 20, używa ona źródła tylko z 20. –
@miepressious, czy twój projekt jest na antenie, czyli na rynku googles? Czy możesz podać wyjątek, który otrzymujesz? czy to jest dla konkretnej marki (LG, Samsung itp.), na przykład Samsung zmienia system Android na swoich urządzeniach? Aby przeprowadzić debugowanie w niższej wersji, możesz zainstalować Genymotion i uruchomić na nim aplikację, gdy jesteś w trybie debugowania w studio Android. Darmowa wersja Genymotion zapewnia wsparcie dla wszystkich Android 4.0 i wyżej i myślę, że 2.2 jest również wliczony w cenę. Musisz wiedzieć, gdzie Twoja aplikacja ulega awarii, aby nie tracić cennego czasu. –