Android SDK Build-Tools è un componente dell'SDK Android necessario per la compilazione di app per Android. È installato nella directory
<sdk>/build-tools/
.
Devi sempre mantenere aggiornato il componente Build Tools scaricando la versione più recente utilizzando Android SDK Manager. Se utilizzi
il plug-in Android per Gradle 3.0.0 o versioni successive,
il progetto utilizza automaticamente una versione predefinita degli strumenti di compilazione specificati dal plug-in. Per
utilizzare una versione diversa degli strumenti di compilazione, specificala utilizzando
buildToolsVersion
in build.gradle
del modulo, come segue:
android { buildToolsVersion "34.0.0" ... }
android { buildToolsVersion = "34.0.0" ... }
Revisioni
Le sezioni seguenti forniscono note sulle release degli strumenti di compilazione. Per determinare quali revisioni degli strumenti di compilazione sono disponibili nel tuo SDK, consulta l'elenco Pacchetti installati in Android SDK Manager.
Correzioni di bug e miglioramenti generici.
Questo aggiornamento include il supporto per la compilazione con le API di anteprima di Android 14.
Questo aggiornamento risolve il seguente problema:
-
La versione 33.0.0 di
core-lambda-stubs.jar
è diversa su macOS rispetto a Linux/Windows. (vedi issue #237299698).
Questo aggiornamento risolve il seguente problema:
- AIDL non riesce con build-tools 33.0.0. (vedi issue #236167971)
Questo aggiornamento include il supporto per la compilazione con le API di Android 11 Preview.
Questo aggiornamento risolve il seguente problema:
- Problema di compilazione con Renderscript su macOS Catalina. (vedi issue #142590626)
Questo aggiornamento risolve il seguente problema:
Questo aggiornamento include il supporto per la compilazione con il livello API 29.
Questo aggiornamento include il supporto per Android Gradle Plugin 3.2.0 e risolve i seguenti problemi:
-
È stato risolto un bug della libreria JNI che causava l'arresto anomalo delle app durante la chiamata
androidx.renderscript.RenderScript.create()
. -
È stato risolto un bug che causava errori di compilazione
Program type already present
con le risorseandroidx.annotation
.
Include la versione più recente di D8.
Migliora il supporto per la compilazione dei lambda quando attivi le funzionalità del linguaggio Java 8.
Migliora il supporto per le funzionalità del linguaggio Java 8.
Aggiunge il supporto per il multidex legacy per gli APK di test. (Issue #37324038)
Oltre alle correzioni di bug generali, questa release include i seguenti aggiornamenti:
- Aggiornamenti
apksigner
alla versione 0.8:- Compatibilità con Java 9. (Issue #37137869)
-
Nuovo parametro
--pass-encoding
per gestire i keystore e le chiavi criptati utilizzando password non ASCII. Se passi a Java 9 eapksigner
non riesce a decriptare il tuo keystore o la tua chiave, utilizza questo parametro per specificare la codifica dei caratteri utilizzata per creare il keystore o la chiave. Per ulteriori informazioni, consulta la documentazione diapksigner
o eseguiapksigner sign --help
dalla riga di comando. -
Messaggio di errore migliore quando
apksigner
non riesce a verificare la firma di un file JAR a causa di un algoritmo di firma o di digest non supportato. (Issue #63525618)
-
Supporto della modalità daemon AAPT2 quando si utilizza
il plug-in Android per Gradle
3.0.0-beta7
o versioni successive.
Oltre alle correzioni di bug generali, questa release ripristina apksigner
nel pacchetto degli strumenti di compilazione (è stato omesso per errore nella versione 26.0.0) e include
i seguenti aggiornamenti dello strumento:
- Aggiunge il supporto di PKCS #11 per consentire la firma con chiavi memorizzate in hardware sicuro. (Issue #37140484)
- Aggiunge il supporto per il caricamento di altri fornitori JCA prima della firma.
- Rispetta
android:targetSandboxVersion
durante la verifica degli APK. - Durante la firma, rifiuta gli APK con file che includono i caratteri speciali "CR" (a capo), "LF" (a capo riga) o "NUL" (null) nel nome file.
- Corregge
apksigner.bat
per gestire correttamente i parametri contenenti spazi. (Issue #38132450) - Corregge un bug nella verifica della firma JAR quando sono presenti più digest per la stessa voce in
MANIFEST.MF
. (Issue #38497270)
Aggiunge il supporto per la compilazione con il livello API 26 e contiene correzioni di bug generali.
Aggiornamenti a apksigner
:
- È stato aggiunto il parametro
--in
per simmetria con il parametro--out
esistente. - Se non specifichi la password della chiave utilizzando
--key-pass
,apksigner
utilizza la password del keystore come password della chiave. Tuttavia, se la chiave richiede una password diversa, ora ti viene chiesto di inserire la password della chiave dalla riga di comando. (Issue #37134986) - È stata aggiunta la compatibilità con
jarsigner
per le password non ASCII. (Issue #37135737)
Correzioni di bug.
Questa release include correzioni di bug e i seguenti
miglioramenti a apksigner
:
- Supporto per gli APK con nomi di voci JAR offuscati.
- L'opzione
--print-certs
ora esegue anche il dump delle impronte MD5.
Correzioni di bug per la toolchain Jack:
- È stato risolto il problema relativo al supporto di file di origine non ASCII da parte di Jack. (Issue #218892)
- È stato risolto un problema che causa un
AssertionError
durante alcune compilation. (Issue #208414)
- È stato aggiunto
apksigner
, uno strumento di firma APK che sostituiscejarsigner
. Per impostazione predefinita,apksigner
firma gli APK utilizzando lo schema di firma JAR convenzionale (utilizzato dajarsigner
) e lo schema di firma dell'APK v2 introdotto in Android 7.0 (livello API 24). Qualsiasi modifica a un APK firmato con lo schema di firma dell'APK v2 ne invalida la firma. Pertanto, la post-elaborazione dell'APK, ad esempiozipalign
, deve essere eseguita prima dell'invocazione diapksigner
, non dopo. L'invocazione dizipalign
prima diapksigner
funziona correttamente perchéapksigner
preserva l'allineamento e la compressione dell'APK (a differenza dijarsigner
).
- Risolvere i problemi nella libreria di supporto RenderScript su dispositivi arm64.
- Risolvere i problemi nella libreria di supporto RenderScript su alcuni dispositivi Jelly Bean.
- Supporto di
renderscriptTargetAPI 21+
quando si utilizza il plug-in Android per Gradle, revisione 2.1.0 e successive .
- Sono state migliorate le prestazioni di unione dello strumento
dx
. - Sono stati corretti i problemi nel compilatore RenderScript per Windows.
Sono stati risolti i problemi relativi agli strumenti RenderScript.
È stato aggiunto il supporto per la release Android 6.0 (livello API 23).
Sono stati risolti i problemi di compatibilità con i kernel RenderScript su dispositivi da Android 4.4 (livello API 19) ad Android 4.1 (livello API 16).
È stato aggiunto il supporto per Android 5.1 (livello API 22).
È stato risolto il problema relativo alla creazione di layout dei dati in modalità a 32 bit.
Sono stati risolti i problemi relativi agli script multidex.
È stato aggiunto il supporto dei file multidex per gli APK e il supporto di Jack per risolvere il limite di riferimenti ai metodi di 64 KB.
Aggiornamenti completi per Eclipse ADT per risolvere i problemi di instabilità sulle piattaforme Windows.
Aggiornamenti iniziali per Eclipse ADT su Windows. Utilizza la revisione 21.0.2.
- Note generali:
-
- È stato aggiunto il supporto per Android 5.0 (livello API 21).
- RenderScript ora supporta il funzionamento senza interruzioni a 32/64 bit per il livello API 21 e versioni successive.
- È stato risolto un problema con il sistema di compilazione Gradle quando si utilizza il plug-in JaCoCo. (Issue 69174)
- È stata aggiunta un'opzione input-list da utilizzare con righe di comando lunghe su Windows.
- Note generali:
-
- È stato aggiunto il supporto per Android Wear.
- Note generali:
-
zipalign
è stato aggiunto agli Strumenti di compilazione.- È stato modificato
aapt
per ignorare i file XML che non riescono a compilare.
Risolto un problema relativo al supporto di RenderScript.
- Sono stati risolti i problemi di compilazione di RenderScript:
-
- È stato risolto un problema con la codifica del codice bit di RenderScript. (Issue 64775)
- Risolto un problema relativo ai simboli matematici mancanti in RenderScript (Issue 64110)
- Sono stati risolti vari problemi di compilazione:
-
- È stato corretto il supporto per la compilazione di RenderScript in modalità NDK con Gradle.
- È stato risolto il problema
BufferOverflowException
nella compilazione di dx. (Issue 61710)
È stato aggiunto il supporto per i target di build Android 4.4 (livello API 19).
Sono stati corretti diversi problemi minori di compilazione.
È stato risolto il problema relativo alla modalità di supporto di RenderScript.
È stato aggiunto il supporto per i target di compilazione Android 4.3 (livello API 18).
Rilascio iniziale.
- Note generali:
-
- È stato incluso il supporto per i target di build Android 4.2 (livello API 17).
- Sono stati disaccoppiati i componenti specifici della compilazione dell'SDK Android dal componente platform-tools, in modo che gli strumenti di compilazione possano essere aggiornati indipendentemente dai componenti dell'ambiente di sviluppo integrato (IDE).