Kotlin DSL è l'impostazione predefinita per la configurazione della build
Per impostazione predefinita, i nuovi progetti ora utilizzano Kotlin DSL (build.gradle.kts) per la configurazione della build. Offre un'esperienza di modifica migliore rispetto a Groovy DSL
(build.gradle) con evidenziazione della sintassi, completamento del codice e navigazione
alle dichiarazioni. Tieni presente che se utilizzi AGP 8.1 e Kotlin DSL per la configurazione della 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 per supportare automaticamente le preferenze
di lingua 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 devi più farlo manualmente. AGP utilizza le risorse nelle cartelle res dei moduli dell'app e le dipendenze dei moduli della libreria per determinare le impostazioni internazionali 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 un valore superiore. Per configurare le preferenze della lingua per app per le versioni precedenti di Android, devi comunque utilizzare le API e i selettori della lingua in-app.
Per attivare il supporto automatico della lingua per app, specifica un locale predefinito:
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 facoltativi di script e regione, separando ciascun
codice con un trattino:
Lingua: utilizza il codice
ISO 639-1
di due o tre lettere.
Script (facoltativo): utilizza il codice ISO 15924.
Regione (facoltativo): utilizza il codice ISO 3166-1 alpha-2 a due lettere o il codice UN_M.49 a tre cifre.
Ad esempio, se la lingua predefinita è l'inglese americano:
unqualifiedResLocale=en-US
AGP aggiunge questa impostazione internazionale predefinita e tutte le
impostazioni internazionali alternative
che hai specificato, utilizzando le directory values-* nella cartella res, al
file LocaleConfig generato automaticamente.
Il supporto automatico della lingua 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 hanno come target la JVM 17
A partire da AGP 8.1.0-alpha04, Android Lint contiene bytecode che ha come target la 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 della libreria nativa è stata spostata in DSL
A partire da AGP 8.1.0-alpha10, riceverai un avviso se non configuri
la compressione della libreria nativa utilizzando il DSL anziché il manifest. Le
seguenti indicazioni spiegano come aggiornare la configurazione per utilizzare il linguaggio DSL. Per
ricevere assistenza per questi aggiornamenti, utilizza AGP Upgrade Assistant
(Strumenti > AGP Upgrade Assistant).
Per utilizzare le librerie native non compresse, rimuovi l'attributo android::extractNativeLibs dal manifest e aggiungi il seguente codice al file build.gradle.kts a livello di modulo (file build.gradle se utilizzi Groovy):
Se attivi questa opzione senza specificare configurazioni di firma, AGP utilizza la
configurazione di firma di debug predefinita quando esegui una build
profilabile o sottoponibile a 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 generatori di librerie di abilitare la rimozione dello zucchero sintattico della libreria principale per
APK di test senza influire sull'AAR prodotto, ad esempio tramite linting.
Abbiamo intenzione di supportare questo comportamento nell'API Variant.
Se attivato, Gradle Managed Devices consente un tipo di dispositivo personalizzato definito dall'utente
che può essere fornito da un plug-in. Questo flag deve essere abilitato se
vuoi utilizzare il plug-in Firebase Test Lab.
android.lint.printStackTrace
AGP 8.0
false
Se abilitato, Android lint stampa una stacktrace in caso di arresto anomalo. Questo flag
ha le stesse funzionalità della variabile di ambiente LINT_PRINT_STACKTRACE.
Specifica il numero massimo di Gradle Managed Devices
(AVD) simultanei da attivare in un determinato momento. Se il valore è 0 o
negativo, non esiste un numero massimo di dispositivi.
Bug: "Enable KSP and use the KSP processor for this dependency instead" (Attiva KSP e utilizza il processore KSP per questa dipendenza) rimanda a un sito web
[AGP 8.1.0] ./gradlew test non riesce con "Unable to find manifest output" se sia splits.abi.isEnable che testOptions.unitTests.isIncludeAndroidResources sono impostati su true
R8 non riesce a compilare play-services-measurement-21.3.0-runtime.jar e restituisce l'errore "Undefined value encountered during compilation" (Valore non definito rilevato durante la compilazione)
[AGP 8.1.0] ./gradlew test non riesce con "Unable to find manifest output" se sia splits.abi.isEnable che testOptions.unitTests.isIncludeAndroidResources sono impostati su true
Non eseguire l'attività di dexing sulle classi dei progetti secondari quando sono già state sottoposte a dexing tramite le trasformazioni degli artefatti
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.
Ultimo aggiornamento 2025-08-08 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Mancano le informazioni di cui ho bisogno","missingTheInformationINeed","thumb-down"],["Troppo complicato/troppi passaggi","tooComplicatedTooManySteps","thumb-down"],["Obsoleti","outOfDate","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Problema relativo a esempi/codice","samplesCodeIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-08-08 UTC."],[],[]]