Android Studio 3.0 (ottobre 2017)

Android Studio 3.0.0 è una release importante che include una serie di nuove funzionalità e miglioramenti.

Utenti macOS: se stai aggiornando una versione precedente di Android Studio, potresti visualizzare una finestra di dialogo di errore di aggiornamento con il messaggio "Sono stati rilevati alcuni conflitti nell'area di installazione". Basta ignorare questo errore e fare clic su Annulla per riprendere l'installazione.

3.0.1 (novembre 2017)

Si tratta di un aggiornamento minore di Android Studio 3.0 che include correzioni di bug generali e miglioramenti delle prestazioni.

Plug-in Android per Gradle 3.0.0

Il nuovo plug-in Android per Gradle include una serie di miglioramenti e nuove funzionalità, ma migliora principalmente le prestazioni di compilazione per i progetti con un numero elevato di moduli. Quando utilizzi il nuovo plug-in con questi progetti di grandi dimensioni, dovresti riscontrare quanto segue:

  • Tempi di configurazione delle build più rapidi grazie alla nuova risoluzione delle dipendenze ritardata.
  • Risoluzione delle dipendenze in base alle varianti solo per i progetti e le varianti che stai creando.
  • Tempi di compilazione incrementali più rapidi quando vengono applicate semplici modifiche al codice o alle risorse.

Nota: questi miglioramenti hanno richiesto modifiche significative che interrompono alcuni comportamenti del plug-in, DSL e le API. L'upgrade alla versione 3.0.0 potrebbe richiedere modifiche ai file di build e ai plug-in Gradle.

Questa versione include anche:

  • Supporto per Android 8.0.
  • Supporto per la creazione di APK separati in base alle risorse linguistiche.
  • Supporto per le librerie Java 8 e le funzionalità del linguaggio Java 8 (senza il compilatore Jack).
  • Supporto della libreria di supporto Android Test 1.0 (Android Test Utility e Android Test Orchestrator).
  • Sono state migliorate le velocità di build di ndk-build e cmake.
  • Velocità di sincronizzazione Gradle migliorata.
  • AAPT2 è ora abilitato per impostazione predefinita.
  • L'utilizzo di ndkCompile ora è più limitato. Dovresti invece eseguire la migrazione all'utilizzo di CMake o ndk-build per compilare il codice nativo che vuoi pacchettizzare nel tuo APK. Per saperne di più, consulta Eseguire la migrazione da ndkcompile.

Per ulteriori informazioni sulle modifiche, consulta le note di rilascio del plug-in Android per Gradle.

Se vuoi eseguire l'upgrade al nuovo plug-in, consulta Eseguire la migrazione al plug-in Android per Gradle 3.0.0.

Supporto di Kotlin

Come annunciato al Google I/O 2017, il linguaggio di programmazione Kotlin è ora supportato ufficialmente su Android. Di conseguenza, con questa release, Android Studio include il supporto del linguaggio Kotlin per lo sviluppo di Android.

Puoi incorporare Kotlin nel tuo progetto convertendo un file Java in Kotlin (fai clic su Codice > Converti file Java in file Kotlin) o creando un nuovo progetto supportato da Kotlin utilizzando la procedura guidata Nuovo progetto.

Per iniziare, scopri come aggiungere Kotlin al tuo progetto.

Supporto delle funzionalità del linguaggio Java 8

Ora puoi utilizzare alcune funzionalità del linguaggio Java 8 e utilizzare le librerie create con Java 8. Jack non è più necessario e devi prima disattivare Jack per utilizzare il supporto migliorato di Java 8 integrato nella toolchain predefinita.

Per aggiornare il progetto in modo che supporti la nuova toolchain del linguaggio Java 8, aggiorna Source Compatibility e Target Compatibility alla versione 1.8 nella finestra di dialogo Project Structured (Struttura del progetto) (fai clic su File > Project Structured). Per scoprire di più, scopri come utilizzare le funzionalità del linguaggio Java 8.

Android Profiler

Il nuovo Android Profiler sostituisce lo strumento Android Monitor e fornisce una nuova suite di strumenti per misurare in tempo reale l'utilizzo della CPU, della memoria e della rete della tua app. Puoi eseguire il tracciamento di un metodo basato su campioni per cronometrare l'esecuzione del codice, acquisire dump dell'heap, visualizzare le allocazioni della memoria e ispezionare i dettagli dei file trasmessi dalla rete.

Per aprirlo, fai clic su Visualizza > Finestre degli strumenti > Android Profiler (o fai clic su Android Profiler nella barra degli strumenti).

La sequenza temporale degli eventi nella parte superiore della finestra mostra gli eventi di tocco, le pressioni dei tasti e le modifiche dell'attività, in modo da avere più contesto per comprendere gli altri eventi di rendimento nella sequenza temporale.

Nota: anche la visualizzazione Logcat è stata spostata in una finestra distinta (in precedenza si trovava all'interno di Android Monitor, che è stato rimosso).

Nella sequenza temporale di panoramica di Android Profiler, fai clic sulle sequenze temporali di CPU, MEMORY o NETWORK per accedere agli strumenti del profiler corrispondenti.

CPU Profiler

Lo strumento di analisi della CPU ti aiuta ad analizzare l'utilizzo del thread della CPU della tua app attivando una traccia della CPU campionata o instrumentata. Potrai quindi risolvere i problemi relativi alle prestazioni della CPU utilizzando una serie di visualizzazioni dati e filtri.

Per saperne di più, consulta la guida di Profiler CPU.

Profiler di memoria

Lo strumento di analisi della memoria consente di identificare perdite di memoria e giri di memoria che possono portare a balbuzie, blocchi e persino arresti anomali dell'app. Mostra un grafico in tempo reale dell'utilizzo della memoria della tua app, ti consente di acquisire un dump dell'heap, forzare le raccolte dei rifiuti e monitorare le allocazioni di memoria.

Per ulteriori informazioni, consulta la guida di Memory Profiler.

Network Profiler

Network Profiler ti consente di monitorare l'attività di rete della tua app, esaminare il payload di ciascuna richiesta di rete e tornare al codice che ha generato la richiesta di rete.

Per ulteriori informazioni, consulta la guida di Network Profiler.

Profilazione e debug degli APK

Ora Android Studio ti consente di profilare e eseguire il debug di qualsiasi APK senza dover eseguire la compilazione da un progetto Android Studio, a condizione che l'APK sia compilato per abilitare il debug e tu abbia accesso ai simboli di debug e ai file di origine.

Per iniziare, fai clic su Profila o esegui il debug dell'APK dalla schermata di benvenuto di Android Studio. In alternativa, se hai già aperto un progetto, fai clic su File > Profila o esegui il debug dell'APK nella barra dei menu. Vengono visualizzati i file APK non pacchettizzati, ma il codice non viene decompilato. Pertanto, per aggiungere correttamente i breakpoint e visualizzare le analisi dello stack, devi allegare i file di codice sorgente Java e i simboli di debug nativi.

Per ulteriori informazioni, consulta Eseguire il profiling ed eseguire il debug di APK precompilati.

Esplora file del dispositivo

Il nuovo Esplora file del dispositivo ti consente di esaminare il file system del dispositivo connesso e di trasferire file tra il dispositivo e il computer. Sostituisce lo strumento di file system disponibile in DCM.

Per aprirlo, fai clic su Visualizza > Finestre degli strumenti > Esplora file del dispositivo.

Per ulteriori informazioni, consulta la guida di File Explorer del dispositivo.

Supporto delle app istantanee

Il nuovo supporto per le app istantanee Android ti consente di creare app istantanee nel tuo progetto utilizzando due nuovi tipi di moduli: moduli di app istantanee e moduli di funzionalità (questi richiedono l'installazione dell'SDK di sviluppo di app istantanee).

Android Studio include inoltre una nuova azione di modularizzazione del refactoring per aiutarti ad aggiungere il supporto delle app istantanee in un progetto esistente. Ad esempio, se vuoi eseguire il refactoring del progetto per inserire alcune classi in un modulo di funzionalità di app istantanee, seleziona le classi nella finestra Progetto e fai clic su Refactor > Modularizza. Nella finestra di dialogo visualizzata, seleziona il modulo in cui devono essere inseriti i corsi e fai clic su OK.

Quando è tutto pronto per testare l'app istantanea, puoi crearla ed eseguirla nel modulo dell'app istantanea su un dispositivo connesso specificando l'URL dell'app istantanea nelle opzioni di lancio della configurazione di esecuzione: seleziona Esegui > Modifica configurazioni, seleziona il modulo dell'app istantanea e imposta l'URL in Opzioni di lancio.

Per maggiori informazioni, vedi App istantanee Android.

Moduli Android Things

Nuovi modelli Android Things nelle procedure guidate Nuovo progetto e Nuovo modulo per aiutarti a iniziare a sviluppare per dispositivi IoT basati su Android.

Per scoprire di più, scopri come creare un progetto Android Things.

Procedura guidata per le icone adattive

Image Asset Studio ora supporta i drawable vettoriali e consente di creare icone di Avvio applicazioni adattive per Android 8.0 e contemporaneamente icone tradizionali ("legacy") per i dispositivi meno recenti.

Per iniziare, fai clic con il tasto destro del mouse sulla cartella res nel tuo progetto, quindi fai clic su Nuovo > Asset immagine. Nella finestra Asset Studio, seleziona Icone Avvio app (adattative e precedenti) come tipo di icona.

Nota: per utilizzare le icone del programma di avvio adattivo, devi impostare compileSdkVersion su 26 o versioni successive.

Per saperne di più, consulta la sezione Icone ad attivazione dinamica.

Supporto per le risorse dei caratteri

Per supportare le nuove risorse dei caratteri in Android 8.0, Android Studio include un selettore di risorse dei caratteri per aiutarti a raggruppare i caratteri nella tua app o a configurare il progetto in modo che scarichi i caratteri sul dispositivo (se disponibili). L'editor del layout consente anche di visualizzare l'anteprima dei caratteri nel layout.

Per provare i caratteri scaricabili, assicurati che sul tuo dispositivo o emulatore sia installata la versione 11.2.63 o successive di Google Play Services. Per saperne di più, consulta la sezione relativa ai caratteri scaricabili.

Assistente per l'indicizzazione delle app di Firebase

L'Assistente Firebase è stato aggiornato con un nuovo tutorial per testare l'indicizzazione delle app. Per aprire l'assistente, seleziona Strumenti > Firebase. Quindi, seleziona Indicizzazione delle app > Testa l'Indicizzazione delle app.

Il tutorial include nuovi pulsanti per testare l'indicizzazione dei contenuti pubblici e personali:

  • Nel passaggio 2, fai clic su Anteprima dei risultati di ricerca per verificare che i tuoi URL vengano visualizzati nei risultati della Ricerca Google.
  • Nel passaggio 3, fai clic su Cerca errori per verificare che gli oggetti indicizzati nella tua app siano stati aggiunti all'indice dei contenuti personali.

L'Assistente per i link alle app è stato aggiornato con le seguenti nuove funzionalità:

  • Aggiungi test URL per ogni mappatura URL per assicurarti che i filtri di intent gestiscano gli URL reali.

    Puoi anche definire questi test degli URL manualmente utilizzando il tag <tools:validation> descritto di seguito.

  • Crea un file Digital Asset Links con la voce dell'oggetto appropriata per supportare Google Smart Lock e aggiungi il tag asset_statements <meta-data> corrispondente al file manifest.

Convalidatore del filtro intent-filter dell'URL

Android Studio ora supporta un tag speciale nel file manifest che ti consente di testare gli URL dei filtri per intent. Si tratta degli stessi tag che l'Assistente per i link alle app può creare per te.

Per dichiarare un URL di test per un filtro per intent, aggiungi un elemento <tools:validation> insieme all'elemento <intent-filter> corrispondente. Ad esempio:

      <activity ...>
          <intent-filter>
              ...
          </intent-filter>
          <tools:validation testUrl="https://www.example.com/recipe/1138" />
      </activity>
    
    

Assicurati di includere anche xmlns:tools="http://schemas.android.com/tools" nel tag <manifest>.

Se uno degli URL di test non supera la definizione del filtro intent, viene visualizzato un errore di lint. Un errore di questo tipo ti consente comunque di creare varianti di debug, ma interrompe le build di release.

Layout Editor

L'Editor layout è stato aggiornato con una serie di miglioramenti, tra cui:

  • Nuovo layout e nuove icone della barra degli strumenti.
  • Layout aggiornato nella struttura ad albero dei componenti.
  • Miglioramento degli inserimenti delle visualizzazioni tramite trascinamento.
  • Nuovo riquadro degli errori sotto l'editor, che mostra tutti i problemi con suggerimenti per la loro risoluzione (se disponibili).
  • Vari miglioramenti all'interfaccia utente per la creazione con ConstraintLayout, tra cui:
    • Nuovo supporto per creare barriere.
    • Nuovo supporto per la creazione di gruppi: nella barra degli strumenti, seleziona Linee guida > Aggiungi gruppo (è richiesta ConstraintLayout 1.1.0 beta 2 o versioni successive)
    • Nuova UI per creare catene: seleziona più viste, poi fai clic con il tasto destro del mouse e seleziona Catena.

Layout Inspector

L'strumento di ispezione del layout include miglioramenti per semplificare il debug dei problemi relativi ai layout delle app, tra cui il raggruppamento delle proprietà in categorie comuni e una nuova funzionalità di ricerca nei riquadri Visualizza albero e Proprietà.

APK Analyzer

Ora puoi utilizzare APK Analyzer dalla riga di comando con lo strumento apkanalyzer.

Anche lo strumento di analisi APK è stato aggiornato con i seguenti miglioramenti:

  • Per gli APK creati con ProGuard, puoi caricare file di mapping ProGuard che aggiungono funzionalità al visualizzatore DEX, tra cui:
    • Nodi in grassetto per indicare che non devono essere rimossi durante la riduzione del codice.
    • Un pulsante per mostrare i nodi rimossi durante il processo di riduzione.
    • Un pulsante che ripristina i nomi originali dei nodi nella visualizzazione ad albero che sono stati offuscati da ProGuard.
  • DEX Viewer ora mostra l'impatto stimato delle dimensioni di ogni pacchetto, classe e metodo.
  • Nuove opzioni di filtro in alto per mostrare e nascondere campi e metodi.
  • Nella visualizzazione ad albero, i nodi che sono riferimenti non definiti nel file DEX vengono visualizzati in corsivo.

Per ulteriori informazioni, vedi Analizzare la build con APK Analyzer.

Anteprima per il compilatore DEX D8

Android Studio 3.0 include un nuovo compilatore DEX facoltativo, chiamato D8. Alla fine sostituirà il compilatore DX, ma puoi attivare subito l'utilizzo del nuovo compilatore D8.

La compilazione DEX influisce direttamente sul tempo di compilazione, sulle dimensioni del file .dex e sulle prestazioni di runtime della tua app. Inoltre, se confrontiamo il nuovo compilatore D8 con l'attuale compilatore DX, D8 compila più velocemente e genera file .dex più piccoli, pur avendo un rendimento in fase di esecuzione dell'app uguale o migliore.

Per fare una prova, imposta quanto segue nel file gradle.properties del progetto:

android.enableD8=true
    

Per ulteriori informazioni, consulta il post del blog sul compilatore D8.

Repository Maven di Google

Android Studio ora utilizza il Repository Maven di Google per impostazione predefinita anziché dipendere da Android SDK Manager per ricevere aggiornamenti per Android Support Library, Google Play Services, Firebase e altre dipendenze. In questo modo è più facile mantenere aggiornate le librerie, in particolare quando si utilizza un sistema di integrazione continua (CI).

Ora tutti i nuovi progetti includono il repository Google Maven per impostazione predefinita. Per aggiornare il progetto esistente, aggiungi google() nel blocco repositories del file build.gradle di primo livello:

      allprojects {
          repositories {
              google()
          }
      }
    
    

Scopri di più sul repository Maven di Google qui.

Altre modifiche

  • Il debug nativo con Android Studio non supporta più Windows a 32 bit. Abbiamo scelto di concentrarci su altre piattaforme perché pochissimi sviluppatori la utilizzano. Se utilizzi Windows a 32 bit e prevedi di eseguire il debug del codice nativo, devi continuare a utilizzare Android Studio 2.3.
  • È stato eseguito l'upgrade dell'IDE di base a IntelliJ 2017.1.2, che aggiunge una serie di nuove funzionalità di 2016.3 e 2017.1, come il refactoring del linguaggio Java 8, i suggerimenti per i parametri, l'evidenziazione semantica, i punti di interruzione trascinabili, i risultati istantanei nella ricerca e molto altro ancora.
  • Sono stati aggiunti molti nuovi controlli lint.
  • Consulta anche gli ultimi aggiornamenti di Android Emulator.