Kotlin DSL è il valore predefinito per la configurazione di build
Per impostazione predefinita, i nuovi progetti ora utilizzano il DSL Kotlin (build.gradle.kts) per la configurazione del build. Ciò offre un'esperienza di modifica migliore rispetto al DSL Groovy
(build.gradle) con evidenziazione della sintassi, completamento del codice e navigazione alle
dichiarazioni. Tieni presente che se utilizzi AGP 8.1 e il DSL Kotlin per la configurazione del build, devi utilizzare Gradle 8.1 per un'esperienza ottimale. Per saperne di più, consulta la guida alla migrazione di Kotlin DSL.
Supporto automatico della lingua per app
A partire da Android Studio Giraffe Canary 7 e AGP 8.1.0-alpha07, puoi configurare la tua app in modo da supportare automaticamente le preferenze linguistiche per app. In base alle risorse del progetto, il plug-in Android per Gradle genera il file LocaleConfig e aggiunge un riferimento al file manifest finale, quindi non dovrai più farlo manualmente. AGP utilizza le risorse nelle cartelle res dei moduli dell'app e eventuali dipendenze dei moduli della libreria per determinare le lingue da includere nel file LocaleConfig.
Tieni presente che la funzionalità di lingua automatica per app supporta le app che eseguono Android 13 (livello API 33) o versioni successive. Per utilizzare la funzionalità, devi impostare compileSdkVersion su 33 o una versione successiva. Per configurare le preferenze relative alle lingue per app
per le versioni precedenti di Android, devi ancora
utilizzare le API e i selettori di lingue in-app.
Per attivare il supporto automatico della lingua per app, specifica una lingua predefinita:
Nella cartella res del modulo dell'app, crea un nuovo file denominato
resources.properties.
Nel file resources.properties, imposta le impostazioni internazionali predefinite con
l'etichetta unqualifiedResLocale. Per formare i nomi delle impostazioni internazionali, combina
il codice lingua con i codici script e regione facoltativi, separandoli ciascuno
con un trattino:
Lingua: utilizza il codice ISO 639-1 di due o tre lettere.
Scrittura (facoltativa): utilizza il codice
ISO 15924.
Regione (facoltativa): utilizza il codice ISO 3166-1-alpha-2 di due lettere o il codice UN_M.49 di tre cifre.
Ad esempio, se la lingua predefinita è l'inglese americano:
unqualifiedResLocale=en-US
AGP aggiunge questa impostazione internazionale predefinita e eventuali
impostazioni internazionali alternative
da te specificate, utilizzando le directory values-* nella cartella res, al
file LocaleConfig generato automaticamente.
Il supporto automatico delle lingue per app è disattivato per impostazione predefinita. Per attivare la funzionalità,
utilizza l'impostazione generateLocaleConfig nel blocco androidResources {} del
file build.gradle.kts a livello di modulo (file build.gradle se utilizzi
Groovy):
Android Lint contiene bytecode che ha come target JVM 17
A partire da AGP 8.1.0-alpha04, Android Lint contiene bytecode che ha come target JVM 17. Se scrivi controlli lint personalizzati, devi compilare con JDK 17 o versioni successive
e specificare jvmTarget = '17' nelle opzioni del compilatore Kotlin.
L'impostazione di compressione delle librerie native è stata spostata in DSL
A partire da AGP 8.1.0-alpha10, riceverai un avviso se non configuri la compressione delle librerie native utilizzando il DSL anziché il manifest. Le seguenti indicazioni spiegano come aggiornare la configurazione per utilizzare il DSL. Per ricevere assistenza per l'esecuzione di questi aggiornamenti, utilizza l'Assistente all'upgrade AGP (Strumenti > Assistente all'upgrade AGP).
Per utilizzare le librerie native non compresse, rimuovi l'attributo android::extractNativeLibs
dal file manifest e aggiungi il seguente codice al file build.gradle.kts a livello di modulo (file build.gradle se utilizzi Groovy):
Se questa opzione viene attivata senza specificare configurazioni di firma, AGP utilizzerà la configurazione di firma di debug predefinita quando viene eseguita una compilazione profilabile o di debug. Questo flag è disattivato per impostazione predefinita per incoraggiare gli autori delle build a dichiarare configurazioni di firma di profilazione specifiche.
android.experimental.library.desugarAndroidTest
AGP 8.0
false
Questo flag consente ai creator di librerie di attivare la rimozione del codice non necessario per le librerie di base per
gli APK di test senza influire sull'AAR prodotto, ad esempio tramite il linting.
Abbiamo intenzione di supportare questo comportamento nell'API Variant.
Se abilitato, Gradle Managed Devices consente un tipo di dispositivo personalizzato definito dall'utente che può essere fornito da un plug-in. Questo flag deve essere attivato se
vuoi utilizzare il plug-in Firebase Test Lab.
android.lint.printStackTrace
AGP 8.0
false
Se abilitato, Android lint stampa uno stack trace in caso di arresto anomalo. Questo flag
ha le stesse funzionalità della variabile di ambiente LINT_PRINT_STACKTRACE.
Specifica il numero massimo di dispositivi gestiti da Gradle (AVD)
da attivare contemporaneamente in un determinato momento. Se il valore è 0 o
negativo, non esiste un numero massimo di dispositivi.
[AGP 8.1.0] Il comando ./gradlew test non riesce con il messaggio "Impossibile trovare l'output del file manifest" se sia splits.abi.isEnable sia testOptions.unitTests.isIncludeAndroidResources sono true
[AGP 8.1.0] Il comando ./gradlew test non riesce con il messaggio "Impossibile trovare l'output del file manifest" se sia splits.abi.isEnable sia testOptions.unitTests.isIncludeAndroidResources sono true
Non eseguire l'attività di decompilazione sui classi dei sottoprogetti se sono già stati decompilati tramite le trasformazioni degli elementi
I campioni di contenuti e codice in questa pagina sono soggetti alle licenze descritte nella Licenza per i contenuti. Java e OpenJDK sono marchi o marchi registrati di Oracle e/o delle sue società consociate.