Android Studio 3.0 (ottobre 2017)

Android Studio 3.0.0 è una release principale 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". Ignora questo errore e fai clic su Annulla per riprendere l'installazione.

3.0.1 (novembre 2017)

Si tratta di un aggiornamento secondario 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 soprattutto migliora le prestazioni di build 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 della build più rapidi grazie alla nuova risoluzione ritardata delle dipendenze.
  • Risoluzione delle dipendenze in base alle varianti solo per i progetti e le varianti che stai creando.
  • Tempi di build incrementali più rapidi quando applichi modifiche semplici al codice o alle risorse.

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

Questa versione include anche:

  • Supporto di Android 8.0.
  • Supporto per la creazione di APK separati in base alle risorse della lingua.
  • Supporto delle librerie Java 8 e delle funzionalità del linguaggio Java 8 (senza il compilatore Jack).
  • Supporto della libreria di supporto dei test Android 1.0 (utilità di test Android e Android Test Orchestrator).
  • Miglioramento della velocità di build di ndk-build e cmake.
  • Miglioramento della velocità di sincronizzazione di Gradle.
  • AAPT2 ora è abilitato per impostazione predefinita.
  • L'utilizzo di ndkCompile ora è più limitato. Devi invece eseguire la migrazione a utilizzando CMake o ndk-build per compilare il codice nativo che vuoi pacchettizzare nel tuo APK. Per saperne di più, leggi 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 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 ufficialmente supportato su Android. Pertanto, con questa release, Android Studio include il supporto del linguaggio Kotlin per lo sviluppo 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 abilitato per 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 librerie create con Java 8. Jack non è più necessario e devi prima disattivarlo 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 Compatibilità origine e Compatibilità target a 1.8 nella finestra di dialogo Struttura progetto (fai clic su File > Struttura progetto). Per saperne 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 l'utilizzo di CPU, memoria e rete della tua app in tempo reale. Puoi eseguire il tracciamento dei metodi basato su campioni per misurare il tempo di esecuzione del codice, acquisire dump dell'heap, visualizzare le allocazioni di memoria e ispezionare i dettagli dei file trasmessi in rete.

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

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

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

Nella sequenza temporale della panoramica di Android Profiler, fai clic sulle sequenze temporali CPU, MEMORIA o RETE per accedere agli strumenti di profilazione corrispondenti.

CPU Profiler

CPU Profiler ti aiuta ad analizzare l'utilizzo dei thread della CPU della tua app attivando una traccia della CPU campionata o strumentata. Poi, puoi risolvere i problemi di prestazioni della CPU utilizzando una serie di visualizzazioni e filtri dei dati.

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

Memory Profiler

Memory Profiler ti aiuta a identificare perdite di memoria e churn di memoria che possono causare interruzioni, blocchi e persino arresti anomali delle app. Mostra un grafico in tempo reale dell'utilizzo della memoria della tua app, ti consente di acquisire un dump dell'heap, forzare le garbage collection e monitorare le allocazioni di memoria.

Per saperne di più, consulta la guida a Memory Profiler.

Network Profiler

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

Per ulteriori informazioni, consulta la guida a Network Profiler.

Profilazione e debug degli APK

Android Studio ora ti consente di profilare ed eseguire il debug di qualsiasi APK senza doverlo creare da un progetto Android Studio, a condizione che l'APK sia creato per abilitare il debug e tu abbia accesso ai simboli di debug e ai file sorgente.

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 > Profilo o APK di debug dalla barra dei menu. Vengono visualizzati i file APK decompressi, ma il codice non viene decompilato. Pertanto, per aggiungere correttamente i punti di interruzione e visualizzare le analisi dello stack, devi allegare i file sorgente Java e i simboli di debug nativi.

Per maggiori informazioni, vedi Profilare ed eseguire il debug degli APK precompilati.

Esplora file dispositivo

Il nuovo esploratore di file del dispositivo ti consente di esaminare il file system del dispositivo connesso e trasferire file tra il dispositivo e il computer. Questo sostituisce lo strumento del file system disponibile in DDMS.

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

Per ulteriori informazioni, consulta la guida a Esplora file del dispositivo.

Assistenza per le app istantanee

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

Android Studio include anche una nuova azione di refactoring modulare per aiutarti ad aggiungere il supporto per le app istantanee in un progetto esistente. Ad esempio, se vuoi refactoring del progetto per inserire alcune classi in un modulo delle funzionalità dell'app istantanea, seleziona le classi nella finestra Progetto e fai clic su Refactoring > Modularizza. Nella finestra di dialogo visualizzata, seleziona il modulo in cui inserire le classi e fai clic su Ok.

Quando è tutto pronto per testare la tua app istantanea, puoi creare ed eseguire il modulo dell'app istantanea su un dispositivo connesso specificando l'URL dell'app istantanea all'interno delle opzioni di avvio della configurazione di esecuzione: seleziona Esegui > Modifica configurazioni, seleziona il modulo dell'app istantanea e imposta l'URL in Opzioni di avvio.

Per maggiori informazioni, vedi App istantanee Android.

Moduli Android Things

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

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

Procedura guidata per le icone adattive

Image Asset Studio ora supporta i disegni vettoriali e ti consente di creare icone in Avvio applicazioni adattive per Android 8.0, creando 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 > Risorsa immagine. Nella finestra Asset Studio, seleziona Icone di avvio app (adattive e legacy) come tipo di icona.

Nota: devi impostare compileSdkVersion su 26 o un valore superiore per utilizzare le icone di avvio adattive.

Per saperne di più, leggi l'articolo sulle icone adattive.

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 facilitare il raggruppamento dei caratteri nell'app o la configurazione del progetto per scaricare i caratteri sul dispositivo (se disponibili). L'editor di layout può anche 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 ulteriori informazioni, leggi l'articolo Caratteri scaricabili.

Firebase App Indexing Assistant

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 Visualizza l'anteprima dei risultati di ricerca per verificare che i tuoi URL vengano visualizzati nei risultati della Ricerca Google.
  • Nel passaggio 3, fai clic su Controlla errori per verificare che gli oggetti indicizzabili nella tua app siano stati aggiunti all'indice dei contenuti personali.

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

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

    Puoi anche definire manualmente questi test degli URL 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 tuo file manifest.

URL intent-filter validator

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 link 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 per intent, viene visualizzato un errore di lint. Un errore di questo tipo ti consente comunque di creare varianti di debug, ma interromperà le build di rilascio.

Layout Editor

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

  • Nuovo layout della barra degli strumenti e nuove icone.
  • Layout aggiornato nell'albero dei componenti.
  • Inserimenti di visualizzazioni con trascinamento migliorati.
  • Nuovo riquadro degli errori sotto l'editor, che mostra tutti i problemi con suggerimenti per la correzione (se disponibili).
  • Vari miglioramenti dell'interfaccia utente per la creazione con ConstraintLayout, tra cui i seguenti:
    • Nuovo supporto per creare barriere.
    • Nuovo supporto per la creazione di gruppi: nella barra degli strumenti, seleziona Linee guida > Aggiungi gruppo (richiede ConstraintLayout 1.1.0 beta 2 o versioni successive)
    • Nuova UI per creare catene: seleziona più viste, quindi fai clic con il tasto destro del mouse e seleziona Catena.

Layout Inspector

L'ispettore 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 sia nel View Tree che nel riquadro Proprietà.

Strumento di analisi APK

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

Lo strumento di analisi APK è stato aggiornato anche con i seguenti miglioramenti:

  • Per gli APK creati con ProGuard, puoi caricare i file di mapping ProGuard che aggiungono funzionalità al visualizzatore DEX, tra cui:
    • Nodi in grassetto per indicare che i nodi 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.
  • Il visualizzatore DEX ora mostra l'impatto stimato sulle dimensioni di ogni pacchetto, classe e metodo.
  • Nuove opzioni di filtro nella parte superiore 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 maggiori informazioni, vedi Analizzare la build con APK Analyzer.

Anteprima del compilatore DEX D8

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

La compilazione DEX influisce direttamente sul tempo di compilazione, sulle dimensioni del file .dex e sulle prestazioni di runtime dell'app. Inoltre, se confrontato con l'attuale compilatore DX, il nuovo compilatore D8 compila più velocemente e genera file .dex più piccoli, pur mantenendo prestazioni di runtime dell'app uguali o migliori.

Per provarlo, 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 la libreria di supporto Android, Google Play Services, Firebase e altre dipendenze. In questo modo è più facile mantenere aggiornate le librerie, soprattutto quando si utilizza un sistema di integrazione continua (CI).

Per impostazione predefinita, tutti i nuovi progetti ora includono il repository Maven di Google. Per aggiornare il tuo 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 utilizzano questa piattaforma. 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 dell'emulatore Android.