Android gradle: buildtoolsVersion vs compileSdkVersion

Antworten:

199

compileSdkVersion ist die API-Version von Android, gegen die Sie kompilieren.

buildToolsVersionist die Version der Compiler (aapt, dx, renderscript compiler usw.), die Sie verwenden möchten. Für jede API-Ebene (beginnend mit 18) gibt es eine passende .0.0-Version.

Auf der IO 2014 veröffentlichen wir dazu die API 20 und die dazugehörigen Build-Tools 20.0.0.

Zwischen den Android-Versionen werden wir Updates der Compiler veröffentlichen, und daher werden wir die Versionen .0.1, .0.2 usw. veröffentlichen. Da wir diese Version nicht stillschweigend unter Ihnen aktualisieren möchten, liegt es an Ihnen, auf die zu wechseln neue Version, wenn es Ihnen passt.

Sie können eine höhere Version der Build-Tools als Ihre compileSdkVersion verwenden, um einen neuen / besseren Compiler zu finden, ohne zu ändern, gegen was Sie Ihre App erstellen.

Xavier Ducrohet
quelle
10
Ist es möglich, eine höhere buildToolsVersion für eine niedrigere compileSdkVersion zu verwenden, z. B. 20.0.0 buildToolsVersion für eine 18.0.0 compileSdkVersion?
Gleiten Sie
5
@Glide Ja, Build-Tools unterstützen ältere Versionen.
Xavier Ducrohet
1
@XavierDucrohet Muss ich buildToolsVersion angeben? Ich erinnere mich, dass ich irgendwo gelesen habe, dass die neueste Version der Build-Tools automatisch ausgewählt wird. Ich habe versucht, buildToolsVersion zu entfernen, aber Android Studio ist damit nicht zufrieden.
Hong
11
Jeder mit einem Link erstellt ein Dokument darüber, was mit compileSdkVersion, buildToolsVersion, minSdkVersion und targetSdkVersion tatsächlich hinter den Kulissen vor sich geht. Ich würde es gerne richtig verstehen.
Pulver366
2
@ Pulver366 Siehe diesen wertvollen Beitrag von Ian Lake: - medium.com/google-developers/…
Maveroid
46

Android Studio 3.0 Update

Es ist nicht mehr so ​​wichtig, das genaue zu kennen buildToolsVersion wie es früher war, da es jetzt automatisch ausgewählt wird.

Die Dokumentation sagt:

Sie müssen keine Version mehr für die Build-Tools angeben (Sie können die android.buildToolsVersionEigenschaft jetzt entfernen ). Standardmäßig verwendet das Plugin automatisch die mindestens erforderliche Version der Build-Tools für die Version des von Ihnen verwendeten Android-Plugins.

Finden der genauen Versionsnummer

Ich bin ursprünglich hierher gekommen, um herauszufinden, wie man die genaue Versionsnummer der neuesten Build Tools-Version kennt (damals, als diese manuell aktualisiert werden musste). Wenn Sie dies noch tun müssen, können Sie es folgendermaßen finden:

Gehen Sie zu Extras> SDK-Manager> SDK-Tools (Registerkarte) . Wählen Sie Android SDK Build Tools aus der Liste aus und aktivieren Sie Paketdetails anzeigen . Das letzte Element zeigt die neueste Version.

Geben Sie hier die Bildbeschreibung ein

Im Bild oben kann ich sehen, dass ich buildToolsVersion 27.0.3installiert habe. Es gibt eine neuere rcVersion (Release Candidate), die ich jedoch nicht installiert habe. Ich werde, wenn die stabile Version herauskommt.

Suragch
quelle
Um ganz klar zu sein, in AS 3.2 lautet der Pfad zu "File => Settings => Appearance & Behavor ...."
JL_SO