Mantieni tutto organizzato con le raccolte
Salva e classifica i contenuti in base alle tue preferenze.
Plug-in Android per Gradle 3.1.0 (marzo 2018)
Questa versione del plug-in Android richiede quanto segue:
|
Versione minima |
Versione predefinita |
Note |
Gradle |
4.4 |
4.4 |
Per scoprire di più, consulta la sezione Aggiornare Gradle. |
Strumenti di compilazione SDK |
27.0.3 |
27.0.3 |
Installa o configura gli strumenti di creazione dell'SDK. Tieni presente che non è più necessario specificare una versione per gli strumenti di compilazione utilizzando la proprietà android.buildToolsVersion. Il plug-in utilizza la versione minima richiesta per impostazione predefinita. |
Nuovo compilatore DEX, D8
Per impostazione predefinita, Android Studio ora utilizza un nuovo compilatore DEX chiamato D8. La compilazione DEX
è il processo di trasformazione del bytecode .class
in
bytecode .dex
per Android Runtime (o Dalvik, per le versioni
precedenti di Android). Rispetto al compilatore precedente, chiamato DX, D8
compila più velocemente e genera file DEX più piccoli, mantenendo le stesse prestazioni di runtime dell'app o prestazioni migliori.
D8 non dovrebbe modificare il flusso di lavoro di sviluppo delle app quotidiano. Tuttavia, se
riscontri problemi relativi al nuovo compilatore, segnala un bug. Puoi disattivare temporaneamente
D8 e utilizzare DX includendo quanto segue nel file
gradle.properties
del progetto:
android.enableD8=false
Per i progetti che
utilizzano le funzionalità del linguaggio Java 8,
il desugaring incrementale è abilitato per impostazione predefinita. Puoi disattivarla
specificando quanto segue nel file gradle.properties
del progetto:
android.enableIncrementalDesugaring=false.
Utenti di anteprima:se utilizzi già una versione di anteprima di D8, tieni presente
che ora la compilazione viene eseguita in base alle librerie incluse negli
strumenti di compilazione dell'SDK, non nella JDK.
Pertanto, se accedi ad API esistenti in JDK, ma non nelle librerie degli strumenti di compilazione dell'SDK,
ricevi un errore di compilazione.
Modifiche al comportamento
-
Quando crei più APK, ognuno dei quali ha come target un'ABI diversa, non genera più APK per le seguenti ABI per impostazione predefinita:
mips
, mips64
e armeabi
.
Se vuoi creare APK che hanno come target queste ABI, devi utilizzare
NDK r16b o versioni precedenti e
specificare le ABI nel file build.gradle
, come mostrato di seguito:
splits {
abi {
include 'armeabi', 'mips', 'mips64'
...
}
}
splits {
abi {
include("armeabi", "mips", "mips64")
...
}
}
-
La cache
di build del plug-in Android ora elimina le voci della cache più vecchie di 30 giorni.
-
Il passaggio di "auto"
a
resConfig
non seleziona più automaticamente le risorse stringa da includere nel tuo APK.
Se continui a utilizzare "auto"
, il plug-in pacchettizza tutte le risorse stringa
fornite dalla tua app e dalle relative dipendenze. Pertanto, devi
specificare ogni impostazione regionale che vuoi che il plug-in includa nel tuo APK.
-
Poiché i moduli locali non possono dipendere dall'APK di test della tua app, l'aggiunta di dipendenze ai test strumentati utilizzando la configurazione androidTestApi
, anziché androidTestImplementation
, fa sì che Gradle generi il seguente avviso:
WARNING: Configuration 'androidTestApi' is obsolete
and has been replaced with 'androidTestImplementation'
WARNING: Configuration 'androidTestApi' is obsolete
and has been replaced with 'androidTestImplementation'
Correzioni
- Corregge un problema per cui Android Studio non riconosce correttamente
le dipendenze nelle build composite.
- Risolve un problema per cui si verifica un errore di sincronizzazione del progetto durante il caricamento del plug-in Android più volte in una singola build, ad esempio quando più progetti secondari includono il plug-in Android nel classpath di buildscript.
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-09-03 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-09-03 UTC."],[],[],null,["\u003cbr /\u003e\n\nAndroid Gradle Plugin 3.1.0 (March 2018)\n\nThis version of the Android plugin requires the following:\n\n| | Minimum version | Default version | Notes |\n|----------------:|:---------------:|:---------------:|:------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|\n| Gradle | 4.4 | 4.4 | To learn more, see [updating Gradle](/build/releases/gradle-plugin?buildsystem=ndk-build#updating-gradle). |\n| SDK Build Tools | 27.0.3 | 27.0.3 | [Install](/studio/intro/update#sdk-manager) or [configure](/tools/releases/build-tools) SDK Build Tools. Keep in mind, you no longer need to specify a version for the build tools using the android.buildToolsVersion property---the plugin uses the minimum required version by default. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nNew DEX compiler, D8\n\nBy default, Android Studio now uses a new DEX compiler called D8. DEX\ncompilation is the process of transforming `.class` bytecode into\n`.dex` bytecode for the Android Runtime (or Dalvik, for older\nversions of Android). Compared to the previous compiler, called DX, D8\ncompiles faster and outputs smaller DEX files, all while having the same or\nbetter app runtime performance.\n\nD8 shouldn't change your day-to-day app development workflow. However, if\nyou experience any issues related to the new compiler, please\n[report a bug](/studio/report-bugs). You can temporarily\ndisable D8 and use DX by including the following in your project's\n`gradle.properties` file: \n\n android.enableD8=false\n \nFor projects that\n[use Java 8 language features](/studio/write/java8-support),\nincremental desugaring is enabled by default. You can disable it by\nspecifying the following in your project's `gradle.properties` file: \n\n android.enableIncrementalDesugaring=false.\n \n\n**Preview users:** If you're already using a preview version of D8, note\nthat it now compiles against libraries included in the\n[SDK build tools](/studio/releases/build-tools)---not the JDK.\nSo, if you are accessing APIs that exist in the JDK but not in the SDK build\ntools libraries, you get a compile error.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nBehavior changes\n\n- When building multiple APKs that each target a different ABI, the\n no longer generates APKs for the following ABIs by default:\n `mips`, `mips64`, and `armeabi`.\n\n If you want to build APKs that target these ABIs, you must use\n [NDK r16b or lower](/ndk/downloads/revision_history) and\n specify the ABIs in your `build.gradle` file, as shown below: \n\n ```groovy\n splits {\n abi {\n include 'armeabi', 'mips', 'mips64'\n ...\n }\n }\n \n ``` \n\n ```kotlin\n splits {\n abi {\n include(\"armeabi\", \"mips\", \"mips64\")\n ...\n }\n }\n \n ```\n- The Android plugin's [build\n cache](/studio/build/build-cache) now evicts cache entries that are older than 30 days.\n\n- Passing `\"auto\"` to\n [`resConfig`](https://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.ProductFlavor.html#com.android.build.gradle.internal.dsl.ProductFlavor:resConfig(java.lang.String))\n no longer automatically picks string resources to package into your APK.\n If you continue to use `\"auto\"`, the plugin packages all string\n resources your app and its dependencies provide. So, you should instead\n specify each locale that you want the plugin to package into your APK.\n\n- Because local modules can't depend on your app's test APK, adding\n dependencies to your instrumented tests using the\n `androidTestApi` configuration, instead of\n `androidTestImplementation`, causes Gradle to issue the\n following warning:\n\n ```groovy\n WARNING: Configuration 'androidTestApi' is obsolete\n and has been replaced with 'androidTestImplementation'\n \n ``` \n\n ```kotlin\n WARNING: Configuration 'androidTestApi' is obsolete\n and has been replaced with 'androidTestImplementation'\n \n ```\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nFixes\n\n- Fixes an issue where Android Studio doesn't properly recognize dependencies in composite builds.\n- Fixes an issue where you get a project sync error when loading the Android plugin multiple times in a single build--for example, when multiple subprojects each include the Android plugin in their buildscript classpath.\n\n\u003cbr /\u003e"]]