Android Gradle: buildtoolsVersion vs compileSdkVersion

Odpowiedzi:

199

compileSdkVersion to wersja API systemu Android, dla której kompilujesz.

buildToolsVersionto wersja kompilatorów (aapt, dx, kompilator renderowania itp.), których chcesz użyć. Dla każdego poziomu API (zaczynającego się od 18) istnieje pasująca wersja .0.0.

Na IO 2014 wypuszczamy API 20 i narzędzia build-tools 20.0.0, aby z nim współpracować.

Pomiędzy wydaniami Androida będziemy udostępniać aktualizacje kompilatorów, więc wydamy wersję .0.1, .0.2 itd ... Ponieważ nie chcemy po cichu aktualizować tych wersji pod Tobą, to do Ciebie należy przejście do nowa wersja, gdy jest to dla Ciebie wygodne.

Możesz użyć wyższej wersji narzędzi do kompilacji niż twoja compileSdkVersion, aby wybrać nowy / lepszy kompilator, nie zmieniając tego, na podstawie czego tworzysz swoją aplikację.

Xavier Ducrohet
źródło
10
Czy można użyć wyższej wersji buildToolsVersion na niższej compileSdkVersion, powiedzmy 20.0.0 buildToolsVersion na 18.0.0 compileSdkVersion?
Szybuj
5
@Glide tak, narzędzia do budowania będą obsługiwać starsze wersje.
Xavier Ducrohet
1
@XavierDucrohet Czy muszę określać buildToolsVersion? Pamiętam, że gdzieś przeczytałem, że najnowsza wersja narzędzi do budowania jest wybierana automatycznie. Próbowałem usunąć buildToolsVersion, ale Android Studio nie jest z tego zadowolony.
Hong,
11
Każdy, kto ma łącze, tworzy dokument o tym, co faktycznie dzieje się za kulisami za pomocą compileSdkVersion, buildToolsVersion, minSdkVersion i targetSdkVersion? Chciałbym to dobrze zrozumieć.
proszek 366
2
@ powder366 Zobacz ten cenny post autorstwa Iana Lake: - medium.com/google-developers/…
maveroid
46

Aktualizacja Android Studio 3.0

Nie jest już tak ważne, aby znać dokładność, buildToolsVersionjak kiedyś, ponieważ teraz jest ona wybierana automatycznie.

Dokumentacja mówi:

Nie musisz już określać wersji narzędzi do kompilacji (możesz więc teraz usunąć android.buildToolsVersionwłaściwość). Domyślnie wtyczka automatycznie używa minimalnej wymaganej wersji narzędzi do kompilacji dla używanej wersji wtyczki Androida.

Znalezienie dokładnego numeru wersji

Początkowo przyszedłem tutaj, szukając dokładnego numeru wersji najnowszej wersji narzędzi do budowania (w czasach, gdy wymagało to ręcznej aktualizacji). Jeśli nadal musisz to zrobić, możesz to znaleźć w następujący sposób:

Przejdź do opcji Narzędzia> Menedżer SDK> Narzędzia SDK (karta) . Wybierz z listy Android SDK Build Tools i zaznacz opcję Show Package Details . Ostatnia pozycja pokaże najnowszą wersję.

wprowadź opis obrazu tutaj

Na powyższym obrazku widzę, że buildToolsVersion 27.0.3zainstalowałem. Istnieje nowsza rcwersja (kandydata do wydania), ale nie zainstalowałem jej. Zrobię to, gdy wyjdzie stabilna wersja.

Suragch
źródło
Dla jasności, w AS 3.2 ścieżka do powyższego to „Plik => Ustawienia => Wygląd i zachowanie ....”
JL_SO,