Android Studio 3.6 (febbraio 2020)

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

Vorremmo anche ringraziare tutti i nostri contributori della community che hanno collaborato a questa release.

3.6.3 (aprile 2020)

Questo aggiornamento minore include varie correzioni di bug. Per visualizzare un elenco di correzioni di bug importanti, leggi il post correlato sul blog degli aggiornamenti delle release.

3.6.2 (marzo 2020)

Questo aggiornamento minore include varie correzioni di bug. Per visualizzare un elenco di correzioni di bug importanti, leggi il post correlato sul blog degli aggiornamenti delle release.

3.6.1 (febbraio 2020)

Questo aggiornamento minore include varie correzioni di bug. Per visualizzare un elenco di correzioni di bug importanti, leggi il post correlato sul blog degli aggiornamenti delle release.

Strumenti di progettazione

Questa versione di Android Studio include aggiornamenti a diversi strumenti di progettazione, tra cui l'editor layout e Resource Manager.

Visualizzazione divisa e zoom negli editor di progettazione

La visualizzazione divisa mostra contemporaneamente sia la visualizzazione della struttura che quella del testo

Questa release include i seguenti aggiornamenti degli editor di progettazione visiva:

  • Gli editor di progettazione, come l'editor di layout e l'editor di navigazione, ora offrono una visualizzazione Dividi che ti consente di vedere contemporaneamente le visualizzazioni Progettazione e Codice della tua UI. Nell'angolo in alto a destra della finestra dell'editor, ora sono disponibili tre pulsanti visualizzare le icone per alternare le opzioni di visualizzazione:

    • Per attivare la visualizzazione divisa, fai clic sull'icona Dividi icona della visualizzazione divisa.
    • Per attivare la visualizzazione dell'origine XML, fai clic sull'icona Origine icona della visualizzazione dell'origine.
    • Per attivare la visualizzazione Progettazione, fai clic sull'icona Progettazione icona della visualizzazione struttura.
  • I controlli per lo zoom e lo spostamento all'interno degli editor di progettazione sono stati spostati in un pannello mobile nell'angolo in basso a destra della finestra dell'editor.

Per scoprire di più, vedi Creare una UI con Layout Editor.

Scheda Risorsa Selettore colori

Per aiutarti ad aggiornare rapidamente i valori delle risorse di colore nella tua app quando utilizzi il selettore di colori in XML o gli strumenti di progettazione, l'IDE ora compila i valori delle risorse di colore per te.

Selettore colori con valori di colore precompilati

Resource Manager

Resource Manager contiene i seguenti aggiornamenti:

  • Resource Manager ora supporta la maggior parte dei tipi di risorse.
  • Quando cerchi una risorsa, Resource Manager ora mostra i risultati di tutti i moduli del progetto. In precedenza, le ricerche restituivano risultati solo dal modulo selezionato.
  • Il pulsante del filtro consente di visualizzare le risorse dei moduli dipendenti locali, delle librerie esterne e del framework Android. Puoi anche utilizzare il filtro per mostrare gli attributi del tema.
  • Ora puoi rinominare le risorse durante la procedura di importazione facendo clic all'interno della casella di testo sopra la risorsa.

Per saperne di più, vedi Gestire le risorse dell'interfaccia utente dell'app con Resource Manager.

Aggiornamenti al plug-in Android per Gradle

L'ultima versione del plug-in Android per Gradle include molti aggiornamenti, tra cui ottimizzazioni per la velocità di compilazione, supporto per il plug-in di pubblicazione Maven e supporto per View Binding. Per saperne di più, leggi le note di rilascio complete.

Visualizza associazione

Il data binding ti consente di scrivere più facilmente codice che interagisce con le visualizzazioni generando una classe di binding per ogni file di layout XML. Queste classi contengono riferimenti diretti a tutte le visualizzazioni che hanno un ID nel layout corrispondente.

Poiché sostituisce findViewById(), il binding della visualizzazione elimina il rischio di eccezioni di puntatore nullo derivanti da un ID visualizzazione non valido.

Per attivare il binding delle visualizzazioni, devi utilizzare il plug-in Android per Gradle 3.6.0 o versioni successive e includere quanto segue nel file build.gradle di ogni modulo:

Groovy

  android {
      buildFeatures.viewBinding = true
  }
  

Kotlin

  android {
      buildFeatures.viewBinding = true
  }
  

Applica modifiche

Ora puoi aggiungere una classe e poi implementare la modifica del codice nell'app in esecuzione facendo clic su Applica modifiche al codice o Applica modifiche e riavvia attività .

Per scoprire di più sulla differenza tra queste due azioni, consulta la sezione Applica modifiche.

Riorganizzare l'opzione di menu per attivare il supporto delle app istantanee

Ora puoi attivare istantaneamente il modulo base in qualsiasi momento dopo aver creato il progetto dell'app nel seguente modo:

  1. Apri il riquadro Progetto selezionando Visualizza > Finestre degli strumenti > Progetto dalla barra dei menu.
  2. Fai clic con il tasto destro del mouse sul modulo di base, in genere denominato "app", e seleziona Refactor > Enable Instant Apps Support.
  3. Nella finestra di dialogo visualizzata, seleziona il modulo base dal menu a discesa.
  4. Fai clic su OK.

Nota:l'opzione per attivare immediatamente il modulo dell'app base dalla procedura guidata Crea nuovo progetto è stata rimossa.

Per saperne di più, leggi Panoramica di Google Play Instant.

Deoffuscare il bytecode di classi e metodi in Strumento di analisi APK

Quando utilizzi APK Analyzer per ispezionare i file DEX, puoi deoffuscare il bytecode di classi e metodi nel seguente modo:

  1. Seleziona Build > Analyze APK (Build > Analizza APK) dalla barra dei menu.
  2. Nella finestra di dialogo visualizzata, vai all'APK che vuoi esaminare e selezionalo.
  3. Fai clic su Apri.
  4. In APK Analyzer, seleziona il file DEX che vuoi esaminare.
  5. Nel visualizzatore di file DEX, carica il file di mapping ProGuard per l'APK che stai analizzando.
  6. Fai clic con il tasto destro del mouse sulla classe o sul metodo che vuoi esaminare e seleziona Mostra bytecode.

Strumenti nativi

I seguenti aggiornamenti supportano lo sviluppo nativo (C/C++) in Android Studio.

Supporto di Kotlin

Le seguenti funzionalità dell'NDK in Android Studio, precedentemente supportate in Java, sono ora supportate anche in Kotlin:

  • Passa da una dichiarazione JNI alla funzione di implementazione corrispondente in C/C++. Visualizza questo mapping passando il mouse sopra il marcatore dell'elemento C o C++ vicino al numero di riga nel file di codice sorgente gestito.

  • Crea automaticamente una funzione di implementazione stub per una dichiarazione JNI. Definisci prima la dichiarazione JNI, poi digita "jni" o il nome del metodo nel file C/C++ per attivarlo.

  • Le funzioni di implementazione native inutilizzate vengono evidenziate come avviso nel codice sorgente. Anche le dichiarazioni JNI con implementazioni mancanti vengono evidenziate come errore.

  • Quando rinomini (refattorizzi) una funzione di implementazione nativa, tutte le dichiarazioni JNI corrispondenti vengono aggiornate. Rinomina una dichiarazione JNI per aggiornare la funzione di implementazione nativa.

  • Controllo della firma per le implementazioni JNI con binding implicito.

Altri miglioramenti di JNI

L'editor di codice in Android Studio ora supporta un flusso di lavoro di sviluppo JNI più fluido, tra cui suggerimenti per i tipi, completamento automatico, ispezioni e refactoring del codice migliorati.

Ricaricamento dell'APK per le librerie native {:#3.6-reload-apk}

Non è più necessario creare un nuovo progetto quando l'APK nel progetto viene aggiornato al di fuori dell'IDE. Android Studio rileva le modifiche apportate all'APK e ti offre la possibilità di reimportarlo.

Allegare origini APK solo Kotlin

Ora è possibile collegare origini APK esterne solo Kotlin durante la profilazione e il debug degli APK precompilati. Per saperne di più, consulta Allegare origini Kotlin/Java.

Rilevamento di perdite di memoria in Memory Profiler

Quando analizzi un dump dell'heap in Memory Profiler, ora puoi filtrare i dati di profilazione che Android Studio ritiene possano indicare perdite di memoria per le istanze Activity e Fragment nella tua app.

I tipi di dati mostrati dal filtro includono:

  • Istanze Activity che sono state eliminate ma a cui viene ancora fatto riferimento.
  • Istanze Fragment che non hanno un FragmentManager valido, ma a cui viene comunque fatto riferimento.

Allegare origini APK solo Kotlin

Ora è possibile collegare origini APK esterne solo Kotlin durante la profilazione e il debug degli APK precompilati. Per saperne di più, consulta Allegare origini Kotlin/Java.

Rilevamento di perdite di memoria in Memory Profiler

Quando analizzi un dump dell'heap in Memory Profiler, ora puoi filtrare i dati di profilazione che Android Studio ritiene possano indicare perdite di memoria per le istanze Activity e Fragment nella tua app.

I tipi di dati mostrati dal filtro includono:

  • Istanze Activity che sono state eliminate ma a cui viene ancora fatto riferimento.
  • Istanze Fragment che non hanno un FragmentManager valido, ma a cui viene ancora fatto riferimento.

In determinate situazioni, ad esempio le seguenti, il filtro potrebbe generare falsi positivi:

  • È stato creato un Fragment, ma non è ancora stato utilizzato.
  • Un Fragment viene memorizzato nella cache, ma non come parte di un FragmentTransaction.

Per utilizzare questa funzionalità, devi prima acquisire un dump dell'heap o importare un file di dump dell'heap in Android Studio. Per visualizzare i frammenti e le attività che potrebbero causare perdite di memoria, seleziona la casella di controllo Perdite di attività/frammenti nel riquadro del dump dell'heap di Memory Profiler.

Profiler: rilevamento delle perdite di memoria

Filtrare un dump dell'heap per rilevare perdite di memoria.

Emulatori

Android Studio 3.6 ti aiuta a sfruttare diversi aggiornamenti inclusi in Android Emulator 29.2.7 e versioni successive, come descritto di seguito.

Supporto migliorato della posizione

Android Emulator 29.2.7 e versioni successive forniscono un supporto aggiuntivo per l'emulazione delle coordinate GPS e delle informazioni sul percorso. Quando apri i Controlli estesi degli emulatori, le opzioni nella scheda Posizione sono ora organizzate in due schede: Punti singoli e Percorsi.

Punti singoli

Nella scheda Punti singoli, puoi utilizzare la webview di Google Maps per cercare punti di interesse, proprio come faresti quando utilizzi Google Maps su uno smartphone o un browser. Quando cerchi o fai clic su una posizione nella mappa, puoi salvarla selezionando Salva punto nella parte inferiore della mappa. Tutte le posizioni salvate sono elencate sul lato destro della finestra Controlli estesi.

Per impostare la posizione degli emulatori sulla posizione selezionata sulla mappa, fai clic sul pulsante Imposta posizione in basso a destra della finestra Controlli estesi.

Scheda Singoli punti nei controlli estesi dell'emulatore..

Percorsi

Simile alla scheda Punti singoli, la scheda Percorsi fornisce una webview di Google Maps che puoi utilizzare per creare un percorso tra due o più località. Per creare e salvare un percorso:

  1. Nella visualizzazione della mappa, utilizza il campo di testo per cercare la prima destinazione del tuo percorso.
  2. Seleziona la posizione dai risultati di ricerca.
  3. Seleziona il pulsante Naviga.
  4. Seleziona il punto di partenza del percorso dalla mappa.
  5. (Facoltativo) Fai clic su Aggiungi destinazione per aggiungere altre tappe al percorso.
  6. Salva il percorso facendo clic su Salva percorso nella visualizzazione della mappa.
  7. Specifica un nome per l'itinerario e fai clic su Salva.

Per simulare l'emulatore che segue il percorso che hai salvato, seleziona il percorso dall'elenco dei Percorsi salvati e fai clic su Riproduci percorso in basso a destra della finestra Controlli estesi. Per interrompere la simulazione, fai clic su Interrompi percorso.

Scheda Percorsi nei controlli avanzati dell'emulatore..

Per simulare continuamente l'emulatore seguendo il percorso specificato, attiva l'opzione accanto a Ripeti riproduzione. Per modificare la velocità con cui l'emulatore segue il percorso specificato, seleziona un'opzione dal menu a discesa Velocità di riproduzione.

Supporto di più display

L'emulatore Android ora ti consente di eseguire il deployment della tua app su più display, che supportano dimensioni personalizzabili e possono aiutarti a testare app che supportano multi-window e multi-display. Mentre un dispositivo virtuale è in esecuzione, puoi aggiungere fino a due display aggiuntivi nel seguente modo:

  1. Apri i Controlli estesi e vai alla scheda Display.

  2. Aggiungi un altro display facendo clic su Aggiungi display secondario.

  3. Dal menu a discesa nella sezione Display secondari, esegui una delle seguenti operazioni:

  4. Seleziona una delle proporzioni preimpostate

  5. Seleziona Personalizzata e imposta altezza, larghezza e dpi per il tuo display personalizzato.

  6. (Facoltativo) Fai clic su Aggiungi display secondario per aggiungere un terzo display.

  7. Fai clic su Applica modifiche per aggiungere i display specificati al dispositivo virtuale in esecuzione.

Aggiungi più display alla scheda Controlli estesi dell'emulatore.

Nuovi dispositivi virtuali e modelli di progetto per Android Automotive OS

Quando crei un nuovo progetto utilizzando Android Studio, ora puoi scegliere tra tre modelli nella scheda Automotive della procedura guidata Crea nuovo progetto: Nessuna attività, Servizio multimediale e Servizio di messaggistica. Per i progetti esistenti, puoi aggiungere il supporto per i dispositivi Android Automotive selezionando File > Nuovo > Nuovo modulo dalla barra dei menu e selezionando Modulo Automotive. La procedura guidata Crea nuovo modulo ti guida nella creazione di un nuovo modulo utilizzando uno dei modelli di progetto Android Automotive.

Selezionando un modello di progetto Android Automotive..

Inoltre, ora puoi creare un Android Virtual Device (AVD) per i dispositivi Android Automotive OS selezionando una delle seguenti opzioni nella scheda Automotive della procedura guidata Configurazione dispositivo virtuale.

  1. Polestar 2: crea un AVD che emuli l'unità principale di Polestar 2.
  2. Automotive (orizzontale 1024p): crea un AVD per unità principali Android Automotive generiche da 1024 x 768 px.

Selezione di un dispositivo virtuale Android Automotive..

Download ripristinabili dell'SDK

Quando scarichi componenti e strumenti dell'SDK utilizzando SDK Manager, Android Studio ora ti consente di riprendere i download interrotti (ad esempio a causa di un problema di rete) anziché riavviarli dall'inizio. Questo miglioramento è particolarmente utile per i download di grandi dimensioni, come l'emulatore Android o le immagini di sistema, quando la connettività a internet non è affidabile.

Inoltre, se hai un'attività di download dell'SDK in esecuzione in background, ora puoi mettere in pausa o riprendere il download utilizzando i controlli nella barra di stato.

Un'attività di download in background nella barra di stato con nuovi controlli che
            ti consentono di mettere in pausa o riprendere il download.

Un'attività di download in background nella barra di stato con nuovi controlli che ti consentono di mettere in pausa o riprendere il download.

Win32 deprecato

La versione a 32 bit di Android Studio per Windows non riceverà più aggiornamenti dopo dicembre 2019 e non riceverà più assistenza dopo dicembre 2020. Puoi continuare a utilizzare Android Studio. Tuttavia, per ricevere aggiornamenti aggiuntivi, esegui l'upgrade della workstation a una versione a 64 bit di Windows.

Per saperne di più, leggi il post del blog sul ritiro della versione a 32 bit di Windows.

Nuova opzione per ottimizzare il tempo di sincronizzazione di Gradle

Nelle versioni precedenti, Android Studio recuperava l'elenco di tutte le attività Gradle durante la sincronizzazione Gradle. Per i progetti di grandi dimensioni, il recupero dell'elenco delle attività potrebbe causare tempi di sincronizzazione lenti.

Per migliorare le prestazioni della sincronizzazione Gradle, vai a File > Impostazioni > Sperimentale e seleziona Non creare l'elenco delle attività Gradle durante la sincronizzazione Gradle.

Quando abiliti questa opzione, Android Studio salta la creazione dell'elenco delle attività durante la sincronizzazione, il che consente a Gradle Sync di completarsi più rapidamente e migliora la reattività dell'interfaccia utente. Tieni presente che, quando l'IDE salta la creazione dell'elenco di attività, gli elenchi di attività nel riquadro Gradle sono vuoti e il completamento automatico del nome dell'attività nei file di build non funziona.

Nuova posizione per attivare/disattivare la modalità offline di Gradle

Per attivare o disattivare la modalità offline di Gradle, seleziona prima Visualizza > Finestre degli strumenti > Gradle dalla barra dei menu. Quindi, vicino alla parte superiore della finestra Gradle, fai clic su Attiva/Disattiva modalità offline Pulsante Gradle offline nel riquadro Gradle..

IntelliJ IDEA 2019.2

L'IDE Android Studio principale è stato aggiornato con i miglioramenti di IntelliJ IDEA tramite la release 2019.2.

Per scoprire di più sui miglioramenti apportati da altre versioni di IntelliJ inclusi cumulativamente nella versione 2019.2, consulta le seguenti pagine:

Collaboratori della community

Grazie a tutti i membri della community che ci hanno aiutato a scoprire bug e altri modi per migliorare Android Studio 3.6. In particolare, vorremmo ringraziare le seguenti persone che hanno segnalato bug:

  • Albert Lo
  • Alexey Rott
  • Andrea Leganza
  • Benedikt Kolb
  • César Puerta
  • Curtis Kroetsch
  • Damian Wieczorek
  • Dan Lew
  • David Burström
  • Deepanshu
  • Egor Andreevici
  • Eli Graber
  • Emin Kokalari
  • Evan Tatarka
  • Frantisek Nagy
  • Greg Moens
  • Hannes Achleitner
  • Hans Petter Eide
  • Henning Bunk
  • Hugo Visser
  • Igor Escodro
  • Iñaki Villar
  • Javentira Lienata
  • Joe Rogers
  • Kristoffer Danielsson
  • Liran Barsisa
  • Louis CAD
  • Lóránt Pintér
  • Łukasz Wasylkowski
  • Luke Fielke
  • Malvin Sutanto
  • Masatoshi Kubode
  • Mathew Winters
  • Michael Bailey
  • Michał Górny
  • Mihai Neacsu
  • Mike Scamell
  • Monte Creasor
  • Nelson Osacky
  • Nelson Osacky
  • Nick Firmani
  • Nicklas Ansman Giertz
  • Niclas Kron
  • Nicolás Lichtmaier
  • Niek Haarman
  • Niels van Hove
  • Niklas Baudy
  • Renato Goncalves
  • Roar Grønmo
  • Ruslan Baratov
  • Sinan Kozak
  • Slawomir Czerwinski
  • Stefan Wolf
  • Stephen D'Amico
  • Tao Wang
  • Tomas Chladek
  • Tomáš Procházka
  • Tony Robalik
  • Torbjørn Sørli
  • Warren He
  • Yenchi Lin
  • Zac Sweers