Android Studio 3.6 (febbraio 2020)

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

Vogliamo anche ringraziare tutti i collaboratori della community che hanno contribuito a questa release.

3.6.3 (aprile 2020)

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

3.6.2 (marzo 2020)

Questo aggiornamento minore include varie correzioni di bug. Per 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 delle correzioni di bug più importanti, leggi il post correlato nel blog degli aggiornamenti delle release.

Strumenti di progettazione

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

Visualizzazione divisa e zoom negli editor di progettazione

la visualizzazione divisa mostra contemporaneamente le visualizzazioni di testo e di progettazione

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

  • Gli editor di progettazione, come l'editor di layout e l'editor di navigazione, ora forniscono una vista Divisa che ti consente di visualizzare contemporaneamente le viste Design e Codice della tua UI. Nell'angolo in alto a destra della finestra dell'editor, ora sono disponibili tre pulsanti Visualizza icone per passare da un'opzione di visualizzazione all'altra:

    • 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 sorgente.
    • Per attivare la Vista struttura, fai clic sull'icona Design icona della visualizzazione struttura.
  • I controlli per lo zoom e la panoramica all'interno degli editor di progettazione sono stati spostati in un riquadro mobile nell'angolo in basso a destra della finestra dell'editor.

Per scoprire di più, consulta Creare un'interfaccia utente con l'editor di layout.

Scheda Risorsa selettore colori

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

Selettore colori con valori di colore inseriti

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 di 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ù, consulta Gestire le risorse dell'interfaccia utente dell'app con Resource Manager.

Aggiornamenti al plug-in Android per Gradle

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

Visualizza associazione

La associazione delle visualizzazioni ti consente di scrivere più facilmente il codice che interagisce con le visualizzazioni generando una classe di associazione 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(), l'associazione di viste elimina il rischio di eccezioni di puntatore nullo derivanti da un ID vista non valido.

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

Alla moda

  android {
      buildFeatures.viewBinding = true
  }
  

Kotlin

  android {
      buildFeatures.viewBinding = true
  }
  

Applica modifiche

Ora puoi aggiungere un corso e poi eseguire il deployment della 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 Applicare le modifiche.

Opzione di menu per il refactoring per attivare il supporto delle app istantanee

Ora puoi attivare immediatamente il modulo di base in qualsiasi momento dopo aver creato il progetto di app come segue:

  1. Apri il riquadro Progetto selezionando Visualizza > Finestre degli strumenti > Progetto nella barra dei menu.
  2. Fai clic con il tasto destro del mouse sul modulo di base, in genere denominato "app", e seleziona Ristruttura > Attiva il supporto delle app istantanee.
  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 di base dalla procedura guidata Crea nuovo progetto è stata rimossa.

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

Deobfuscare il bytecode di classi e metodi in APK Analyzer

Quando utilizzi lo Strumento di analisi APK per esaminare i file DEX, puoi deoffuscare il bytecode della classe e del metodo nel seguente modo:

  1. Seleziona Build > Analizza APK dalla barra dei menu.
  2. Nella finestra di dialogo visualizzata, vai all'APK che vuoi ispezionare e selezionatelo.
  3. Fai clic su Apri.
  4. In APK Analyzer, seleziona il file DEX che vuoi ispezionare.
  5. Nel visualizzatore dei 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 ispezionare e seleziona Mostra bytecode.

Strumenti nativi

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

Supporto di Kotlin

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

  • Vai da una dichiarazione JNI alla funzione di implementazione corrispondente in C/C++. Visualizza questa mappatura passando il mouse sopra l'indicatore 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, quindi digita "jni" o il nome del metodo nel file C/C++ da attivare.

  • Le funzioni di implementazione nativa inutilizzate sono evidenziate come avviso nel codice sorgente. Anche le dichiarazioni JNI con implementazioni mancanti vengono messe in evidenza come errori.

  • Quando rinomini (rifai il refactoring) 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 vincolo implicito.

Altri miglioramenti a JNI

L'editor di codice in Android Studio ora supporta un flusso di lavoro di sviluppo JNI più agevole, inclusi suggerimenti sui tipi migliorati, completamento automatico, ispezioni e refactoring del codice.

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 nell'APK e ti offre la possibilità di importarle di nuovo.

Allega origini APK solo Kotlin

Ora è possibile collegare origini APK esterne solo per Kotlin quando profili ed esegui il debug degli APK predefiniti. Per saperne di più, consulta Collegare le origini Kotlin/Java.

Rilevamento di perdite 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 visualizzati dal filtro includono:

  • Istanze Activity che sono state distrutte, ma a cui viene ancora fatto riferimento.
  • Fragment istanze che non hanno un valore FragmentManager valido, ma vi fanno ancora riferimento.

Allega origini APK solo Kotlin

Ora è possibile collegare origini APK esterne solo per Kotlin quando profili ed esegui il debug degli APK predefiniti. Per scoprire di più, consulta Collegare origini Kotlin/Java.

Rilevamento di perdite 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 visualizzati dal filtro includono:

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

In alcune situazioni, ad esempio quelle riportate di seguito, il filtro potrebbe generare falsi positivi:

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

Per utilizzare questa funzionalità, innanzitutto acquisisci un dump dell'heap o importa un file dump dell'heap in Android Studio. Per visualizzare i frammenti e le attività che potrebbero avere una perdita di memoria, seleziona la casella di controllo Perdite di attività/frammenti nel riquadro del dump dell'heap del Memory Profiler.

Profiler: rilevamento di fughe di memoria

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

Emulatori

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

Miglioramento del supporto della posizione

Android Emulator 29.2.7 e versioni successive fornisce ulteriore supporto per emulare coordinate GPS e informazioni sui percorsi. Quando apri i Controlli estesi dell'emulatore, le opzioni nella scheda Posizione sono ora organizzate in due schede: Punti singoli e Route.

Punti singoli

Nella scheda Punti singoli, puoi utilizzare la WebView di Google Maps per cercare punti d'interesse, proprio come faresti quando utilizzi Google Maps su un telefono o un browser. Quando cerchi o fai clic su una località nella mappa, puoi salvarla selezionando Salva punto nella parte inferiore della mappa. Tutte le località 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 nella finestra Controlli avanzati.

Scheda Punti singoli in Controlli avanzati dell'emulatore..

Percorsi

Analogamente alla scheda Singoli punti, la scheda Percorsi offre un componente WebView di Google Maps che puoi utilizzare per creare un percorso tra due o più località. Per creare e salvare un itinerario:

  1. Nella visualizzazione mappa, utilizza il campo di testo per cercare la prima destinazione nel percorso.
  2. Seleziona la stazione di ricarica 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 fermate al percorso.
  6. Salva il percorso facendo clic su Salva percorso nella visualizzazione mappa.
  7. Specifica un nome per il percorso e fai clic su Salva.

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

Scheda Routes in Emulator Extended Controls..

Per simulare continuamente l'emulatore seguendo il percorso specificato, abilita l'opzione accanto a Riproduzione ripetuta. 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

Ora l'emulatore Android ti consente di eseguire il deployment dell'app su più display, che supportano dimensioni personalizzabili e possono aiutarti a testare le app che supportano più finestre e più display. Mentre un dispositivo virtuale è in esecuzione, puoi aggiungere fino a due display aggiuntivi come segue:

  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 predefinite

  5. Seleziona custom e imposta height, width e dpi per la tua visualizzazione personalizzata.

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

  7. Fai clic su Applica modifiche per aggiungere le visualizzazioni specificate al dispositivo virtuale in esecuzione.

Aggiungi più display alla scheda Display dei 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 nella barra dei menu e Modulo Automotive. La procedura guidata Crea nuovo modulo ti guida quindi nella creazione di un nuovo modulo utilizzando uno dei modelli di progetto Android Automotive.

Selezionare un modello di progetto Android Automotive..

Inoltre, ora puoi creare un dispositivo virtuale Android (AVD) per i dispositivi con sistema operativo Android Automotive selezionando una delle seguenti opzioni nella scheda Automotive nella procedura guidata Configurazione dispositivo virtuale.

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

Selezione di un dispositivo virtuale Android Automotive..

Download dell'SDK riavviabili

Quando scarichi componenti e strumenti SDK utilizzando SDK Manager, Android Studio ora ti consente di riprendere i download interrotti (ad esempio a causa di un problema di rete) anziché riavviare il download 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 è in esecuzione un'attività di download dell'SDK 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 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 Windows a 32 bit di Android Studio 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 tua workstation a una versione a 64 bit di Windows.

Per scoprire di più, leggi il blog sul ritiro di Windows a 32 bit

Nuova opzione per ottimizzare il tempo di sincronizzazione Gradle

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

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

Se attivi questa opzione, Android Studio salta la creazione dell'elenco di attività durante la sincronizzazione, il che consente a Gradle Sync di completare l'operazione più rapidamente e migliora la reattività dell'interfaccia utente. Tieni presente che, quando l'IDE salta la compilazione dell'elenco di attività, gli elenchi di attività nel riquadro Gradle sono vuoti e il completamento automatico del nome dell'attività nei file di compilazione 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. Poi, nella parte superiore della finestra Gradle, fai clic su Attiva/Disattiva modalità offline Pulsante Gradle offline nel riquadro Gradle..

IntelliJ IDEA 2019.2

L'IDE principale di Android Studio è stato aggiornato con miglioramenti apportati da IntelliJ IDEA fino alla release 2019.2.

Per scoprire di più sui miglioramenti delle altre versioni di IntelliJ inclusi in modo cumulativo nella versione 2019.2, consulta le seguenti pagine:

Collaboratori della community

Grazie a tutti i collaboratori della community che ci hanno aiutato a scoprire bug e ad 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 Andrea
  • Eli Graber
  • Emin Kokalari
  • Giulia Ferrara
  • Frantisek Nagy
  • Greg Moens
  • Hannes Achleitner
  • Hans Petter Eide
  • Henning Bunk
  • Hugo Visser
  • Igor Escodro
  • Villa di Iñaki
  • 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
  • Giulia Ferrara
  • 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