Note di rilascio di SDK Build Tools

Android SDK Build-Tools è un componente dell'SDK Android necessario per la compilazione di app per Android. È installato nella directory <sdk>/build-tools/.

Dovresti sempre mantenere aggiornato il componente degli strumenti di creazione scaricando l'ultima versione con Android SDK Manager. Se utilizzi plug-in Android per Gradle 3.0.0 o versioni successive, il tuo progetto utilizza automaticamente una versione predefinita degli strumenti di creazione specificati dal plug-in. A utilizzare una versione diversa degli strumenti di build, specificala utilizzando buildToolsVersion nel build.gradle del tuo modulo, come segue:

android {
    buildToolsVersion "34.0.0"
    ...
}
android {
    buildToolsVersion = "34.0.0"
    ...
}

Revisioni

Le sezioni seguenti forniscono note sulle release degli Strumenti di creazione. Per determinare quali revisioni degli strumenti di compilazione sono disponibili nel tuo SDK, consulta l'elenco Pacchetti installati in Android SDK Manager.

Build Tools, revisione 34.0.0 RC3(aprile 2023)

Correzioni di bug e miglioramenti generali.

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 e su Linux/Windows. (vedi issue #237299698).

Questo aggiornamento risolve il seguente problema:

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 creazione con il livello API 29.

Questo aggiornamento include il supporto di plug-in Android per Gradle 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 corretto un bug che causava errori di generazione di Program type already present con androidx.annotation risorse.

Include l'ultima versione di D8.

Migliora il supporto per la compilazione di lambda quando abiliti Funzionalità del linguaggio Java 8.

Migliora il supporto di 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:

  • Aggiorna apksigner alla versione 0.8:
    • Compatibilità con Java 9. (Issue #37137869)
    • Nuovo parametro --pass-encoding per gestire gli archivi chiavi e le chiavi criptate utilizzando password non ASCII. Se passi a Java 9 e apksigner non riesce a decriptare l'archivio chiavi o la chiave, utilizza questo parametro per specificare la codifica dei caratteri utilizzato per creare l'archivio chiavi o la chiave. Per ulteriori informazioni, consulta apksigner documentazione oppure esegui apksigner sign --help dalla riga di comando.
    • Messaggio di errore migliore quando apksigner non riesce a verificare una firma JAR a causa di un algoritmo digest o di firma non supportato. (Issue #63525618)
  • Supporto per la modalità daemon AAPT2 quando si utilizza plug-in Android per Gradle 3.0.0-beta7 o superiore.

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. (Problema n. 37140484)
  • Aggiunge il supporto per il caricamento di altri Fornitori JCA prima di firmare.
  • Rispetta android:targetSandboxVersion durante la verifica degli APK.
  • Durante la firma, rifiuta gli APK con file che includono "RP" (ritorno a capo), "LF" (feed a riga), o "NUL" (null) caratteri speciali nel nome del file.
  • Corregge apksigner.bat per gestire correttamente i parametri contenenti spazi. (Problema n. 38132450)
  • Corregge un bug nella verifica della firma JAR quando sono presenti più sintesi per lo stesso voce in MANIFEST.MF. (Problema n. 38497270)

Aggiunge il supporto per la creazione con il livello API 26 e contiene correzioni di bug generali.

Aggiornamenti a apksigner:

  • Parametro --in aggiunto per la simmetria con il parametro --out esistente.
  • Se non specifichi la password della chiave utilizzando --key-pass, apksigner utilizza la password dell'archivio chiavi come password della chiave. Tuttavia, se la chiave richiede un'altra password, ti verrà chiesto di inserire la password della chiave dalla riga di comando. (Issue #37134986)
  • È stata aggiunta la compatibilità con jarsigner per le password non ASCII. (Problema n. 37135737)

Correzioni di bug.

Questa release include correzioni di bug e i seguenti miglioramenti a apksigner:

  • Supporto per APK con nomi delle voci JAR offuscati.
  • Lo switch --print-certs ora esegue anche il dump delle impronte MD5.

Correzioni di bug per la catena di strumenti Jack:

  • È stato risolto il problema per cui Jack supportava file di origine non ASCII. (Issue #218892)
  • È stato risolto un problema che causa un AssertionError durante alcune compilation. (problema #208414)
  • Aggiunti apksigner, uno strumento di firma dell'APK che sostituisce jarsigner. Per impostazione predefinita, apksigner firma gli APK con lo schema di firma JAR convenzionale (utilizzato da jarsigner) e l'APK Schema di firma v2 introdotto in Android 7.0 (livello API 24). Qualsiasi la modifica di un APK firmato con lo schema di firma dell'APK v2 rende il suo firma. Di conseguenza, la post-elaborazione dell'APK, come zipalign, deve da eseguire prima di richiamare apksigner, non dopo. Richiamo zipalign prima del giorno apksigner va bene perché apksigner conserva l'allineamento e la compressione degli APK (a differenza di jarsigner).
  • Risolvere i problemi di RenderScript Supporta la libreria sui dispositivi arm64.
  • Risolvere i problemi di RenderScript Supporta la Raccolta su alcuni dispositivi Jelly Bean.
  • Supporto di renderscriptTargetAPI 21+ quando si utilizza il plug-in Android per Gradle, revisione 2.1.0 e successive.
  • Le prestazioni di unione dello strumento dx sono state migliorate.
  • Sono stati risolti i problemi di RenderScript compilatore per Windows.

Sono stati risolti i problemi degli strumenti RenderScript.

Aggiunto il supporto per la release Android 6.0 (livello API 23).

Sono stati risolti i problemi di compatibilità con Kernel RenderScript su Dispositivi da Android 4.4 (livello API 19) ad Android 4.1 (livello API 16).

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 fare riferimento al metodo 64K limite.

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 il problema del sistema di compilazione Gradle durante l'utilizzo del plug-in JaCoCo. (Problema 69174)
  • È stata aggiunta un'opzione input-list da utilizzare con le lunghe righe di comando su Windows.
Note generali:
  • È stato aggiunto il supporto per Android Wear.
Note generali:
  • È stato aggiunto zipalign agli strumenti di creazione.
  • Hai modificato aapt per ignorare i file XML che non è stato possibile compilare.

È stato risolto un problema relativo al supporto di RenderScript.

Sono stati risolti i problemi di build di RenderScript:
  • È stato risolto un problema con la codifica del codice bit di RenderScript. (Problema 64775)
  • È stato risolto un problema relativo alla mancanza di simboli matematici in RenderScript (Problema 64110)

Sono stati risolti vari problemi relativi alla build:
  • È stato corretto il supporto della compilazione di RenderScript in modalità NDK con Gradle.
  • È stato risolto il problema BufferOverflowException nella build 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:
  • È incluso il supporto per i target delle build per Android 4.2 (livello API 17).
  • Disaccoppiato i componenti specifici per la build dell'SDK Android dagli strumenti della piattaforma , in modo che gli strumenti di creazione possano essere aggiornati indipendentemente dall'integrazione dei componenti dell'ambiente di sviluppo di sviluppo (IDE).