Android Studio 3.6 (fevereiro de 2020)

O Android Studio 3.6 é uma versão principal que inclui vários novos recursos e melhorias.

Também gostaríamos de agradecer a todos os nossos colaboradores da comunidade que ajudaram nesta versão.

3.6.3 (abril de 2020)

Esta atualização secundária inclui várias correções de bugs. Para consultar uma lista de correções de bugs importantes, leia a postagem relacionada no blog de Atualizações de versão (em inglês).

3.6.2 (março de 2020)

Esta atualização secundária inclui várias correções de bugs. Para consultar uma lista de correções de bugs importantes, leia a postagem relacionada no blog de Atualizações de versão (em inglês).

3.6.1 (fevereiro de 2020)

Esta atualização secundária inclui várias correções de bugs. Para consultar uma lista de correções de bugs importantes, leia a postagem relacionada no blog de Atualizações de versão (em inglês).

Ferramentas de design

Esta versão do Android Studio inclui atualizações para várias ferramentas de design, incluindo o Layout Editor e o Resource Manager.

Dividir visualização e aumentar zoom nos editores de design

visualização dividida mostra as visualizações de design e de texto ao mesmo tempo

As seguintes atualizações dos editores de design visual estão incluídas nesta versão:

  • Editores de design, como o Layout Editor e o Navigation Editor, agora fornecem uma visualização Split, que permite observar as visualizações Design e Code da interface ao mesmo tempo. No canto superior direito da janela do editor, agora há três botões ícones de visualização para alternar entre as opções de visualização:

    • Para ativar a visualização dividida, clique no ícone Split ícone de visualização dividida.
    • Para ativar a visualização de origem XML, clique no ícone Source ícone de visualização de origem.
    • Para ativar a visualização de design, clique no ícone Design ícone de visualização de design.
  • Os controles de zoom e panorâmica nos editores de design foram movidos para um painel flutuante na parte de baixo do lado direito da janela do editor.

Para saber mais, consulte Criar uma interface com o Layout Editor.

Guia de recursos do seletor de cores

Para atualizar rapidamente os valores de recursos de cores no app quando você estiver usando o seletor de cores no XML ou nas ferramentas de design, o ambiente de desenvolvimento integrado agora vai preencher os valores de recursos de cores para você.

Seletor de cores com valores de cor preenchidos

Resource Manager

O Resource Manager contém as seguintes atualizações:

  • O Resource Manager agora oferece suporte à maioria dos tipos de recurso.
  • Ao pesquisar um recurso, o Resource Manager agora exibe os resultados de todos os módulos do projeto. Anteriormente, as pesquisas retornavam resultados apenas do módulo selecionado.
  • O botão de filtro permite visualizar recursos de módulos dependentes locais, bibliotecas externas e a estrutura do Android. Você também pode usar o filtro para mostrar os atributos do tema.
  • Agora você pode renomear recursos durante o processo de importação clicando na caixa de texto acima do recurso.

Para saber mais, consulte Gerenciar os recursos de interface do app com o Resource Manager.

Atualizações no Plug-in do Android para Gradle

A versão mais recente do Plug-in do Android para Gradle conta com muitas atualizações, incluindo otimizações da velocidade do build e suporte ao plug-in do Maven e à vinculação de visualizações. Para saber mais, leia as notas completas da versão.

Vinculação de visualizações

A vinculação de visualizações permite programar com mais facilidade um código que interaja com visualizações gerando uma classe de vinculação para cada arquivo de layout XML. Essas classes contêm referências diretas a todas as visualizações que têm um ID no layout correspondente.

Como a vinculação de visualizações substitui findViewById(), ela elimina o risco de exceções de ponteiro nulo resultantes de um ID de visualização inválido.

Para ativar a vinculação de visualizações, você precisa usar o Plug-in do Android para Gradle versão 3.6.0 ou mais recente e incluir o seguinte no arquivo build.gradle de cada módulo:

Groovy

  android {
      buildFeatures.viewBinding = true
  }
  

Kotlin

  android {
      buildFeatures.viewBinding = true
  }
  

Aplicar mudanças

Agora, você pode adicionar uma classe e implantar essa mudança de código no app em execução clicando em Apply Code Changes  ou em Apply Changes and Restart Activity .

Para saber mais sobre a diferença entre as duas ações, consulte Aplicar mudanças.

Refatorar a opção de menu para ativar o suporte a Apps instantâneos

Agora, é possível ativar instantaneamente seu módulo base a qualquer momento depois de criar o projeto do app da seguinte maneira:

  1. Abra o painel Project selecionando View > Tool Windows > Project na barra de menus.
  2. Clique com o botão direito no módulo base, normalmente chamado de "app", e selecione Refactor > Enable Instant Apps Support.
  3. Na caixa de diálogo exibida, selecione o módulo base no menu suspenso.
  4. Clique em OK.

Observação: a opção para ativar instantaneamente o módulo base do seu app usando o assistente Create New Project foi removida.

Para saber mais, leia Visão geral do Google Play Instant.

Desofuscar o bytecode de classe e método no APK Analyzer

Ao usar o APK Analyzer para inspecionar arquivos DEX, é possível desofuscar o bytecode de classe e método da seguinte maneira:

  1. Selecione Build > Analyze APK na barra de menus.
  2. Na caixa de diálogo exibida, navegue até o APK que quiser inspecionar e selecione-o.
  3. Clique em Open.
  4. No APK Analyzer, selecione o arquivo DEX que você quer inspecionar.
  5. No visualizador de arquivos DEX, carregue o arquivo de mapeamentos ProGuard para o APK que você está analisando.
  6. Clique com o botão direito do mouse na classe ou no método que quer inspecionar e selecione Show bytecode.

Ferramentas nativas

As seguintes atualizações são compatíveis com o desenvolvimento nativo (C/C++) no Android Studio.

Suporte ao Kotlin

Os seguintes recursos do NDK no Android Studio, que anteriormente contavam com suporte do Java, agora também têm suporte do Kotlin:

  • Navegue de uma declaração JNI para a função de implementação correspondente em C/C++. Para observar essa associação, passe o cursor sobre o marcador de item C ou C++ próximo ao número da linha no arquivo de código-fonte gerenciado.

  • Crie automaticamente uma função de implementação de stub para uma declaração JNI. Defina a declaração JNI primeiro e, em seguida, digite “jni” ou o nome do método no arquivo C/C++ a ser ativado.

  • As funções de implementação nativa não utilizadas são destacadas como avisos no código-fonte. Declarações JNI com implementações ausentes também são destacadas como erros.

  • Quando você renomeia (refatora) uma função de implementação nativa, todas as declarações JNI correspondentes são atualizadas. Renomeie uma declaração JNI para atualizar a função de implementação nativa.

  • Verificação de assinatura para implementações de JNI vinculadas implicitamente.

Outras melhorias do JNI

O editor de código no Android Studio agora oferece suporte a um fluxo de trabalho de desenvolvimento de JNI mais integrado, incluindo dicas aprimoradas de tipo, preenchimento automático, inspeções e refatoração de código.

Recarregamento do APK para bibliotecas nativas {:#3.6-reload-apk}

Não é mais necessário criar um novo projeto quando o APK do seu projeto é atualizado fora do ambiente de desenvolvimento integrado. O Android Studio detecta mudanças no APK e oferece a opção de importá-lo novamente.

Anexar origens de APKs somente para Kotlin

Agora é possível anexar origens de APK externas exclusivas do Kotlin quando você cria perfis e depura APKs pré-criados. Para saber mais, consulte Anexar origens Kotlin/Java.

Detecção de vazamento no Memory Profiler

Ao analisar um heap dump no Memory Profiler, agora é possível filtrar dados de criação de perfil que o Android Studio considera vazamentos de memória em instâncias de Activity e Fragment do seu app.

Os tipos de dados mostrados pelo filtro incluem o seguinte:

  • Instâncias de Activity que foram destruídas, mas ainda estão sendo referenciadas.
  • Instâncias de Fragment que não têm um FragmentManager, mas ainda estão sendo referenciadas.

Anexar origens de APKs somente para Kotlin

Agora é possível anexar origens de APK externas exclusivas do Kotlin quando você cria perfis e depura APKs pré-criados. Para saber mais, consulte Anexar origens Kotlin/Java.

Detecção de vazamento no Memory Profiler

Ao analisar um heap dump no Memory Profiler, agora é possível filtrar dados de criação de perfil que o Android Studio considera vazamentos de memória em instâncias de Activity e Fragment do seu app.

Os tipos de dados mostrados pelo filtro incluem o seguinte:

  • Instâncias de Activity que foram destruídas, mas ainda estão sendo referenciadas.
  • Instâncias de Fragment que não têm um FragmentManager, mas ainda estão sendo referenciadas.

Em determinadas situações, como as seguintes, o filtro pode gerar falsos positivos:

  • Um Fragment foi criado, mas ainda não foi usado.
  • Um Fragment está sendo armazenado em cache, mas não como parte de um FragmentTransaction.

Para usar esse recurso, primeiro capture um heap dump ou importe um arquivo de heap dump para o Android Studio. Para mostrar os fragmentos e atividades que podem estar vazando memória, marque a caixa de seleção Activity/Fragment Leaks no painel de heap dump do Memory Profiler.

Profiler: detecção de vazamento de memória

Filtragem de um heap dump em busca de vazamentos de memória.

Emuladores

O Android Studio 3.6 ajuda você a aproveitar as diversas atualizações incluídas no Android Emulator 29.2.7 ou mais recente, conforme descrito abaixo.

Suporte aprimorado a local

O Android Emulator 29.2.7 e versões mais recentes oferecem mais suporte à emulação de coordenadas de GPS e informações de rota. Quando você abrir os Controles estendidos dos emuladores, as opções na guia "Location" agora estarão organizadas em duas guias: Single points e Routes.

Pontos únicos

Na guia Single points, você pode usar a visualização da Web do Google Maps para pesquisar pontos de interesse, assim como faria ao usar o Google Maps em um smartphone ou navegador. Ao pesquisar ou clicar em um local no mapa, você pode salvar o local selecionando "Save point" próximo à parte de baixo do mapa. Todos os seus locais salvos são listados no lado direito da janela Extended controls.

Para definir o local dos emuladores como o local que você selecionou no mapa, clique no botão Set location perto do canto inferior direito da janela Extended controls.

Guia Single Points nos controles estendidos do emulador..

Rotas

Semelhante à guia Single points, a guia Routes fornece uma WebView do Google Maps que você pode usar para criar um trajeto entre dois ou mais locais. Para criar e salvar uma rota, faça o seguinte:

  1. Na visualização de mapa, use o campo de texto para pesquisar o primeiro destino na sua rota.
  2. Selecione o local nos resultados da pesquisa.
  3. Selecione o botão Navigate.
  4. Selecione o ponto de partida do seu trajeto no mapa.
  5. (Opcional) Clique em Add destination para adicionar mais paradas ao trajeto.
  6. Salve seu trajeto clicando em Save route na visualização do mapa.
  7. Especifique um nome para o trajeto e clique em Save.

Para simular o emulador seguindo o trajeto que você salvou, selecione o trajeto na lista Saved routes e clique em Play route próximo ao canto inferior direito da janela Extended controls. Para interromper a simulação, clique em Stop route.

Guia de trajetos nos controles estendidos do emulador..

Para simular continuamente o emulador seguindo o trajeto especificado, ative a chave ao lado de Repeat playback. Para mudar a velocidade com que o emulador segue o trajeto especificado, selecione uma opção na lista suspensa Playback speed.

Suporte a várias telas

O Android Emulator agora permite implantar o app em várias telas, que oferecem suporte a dimensões personalizáveis e podem testar apps com suporte a várias janelas e várias telas. Enquanto um dispositivo virtual está em execução, é possível colocar até duas telas extras da seguinte maneira:

  1. Abra Extended controls e navegue até a guia Displays.

  2. Adicione outra exibição clicando em Add secondary display.

  3. No menu suspenso em Secondary displays, siga um destes procedimentos:

  4. Selecione uma das proporções predefinidas

  5. Selecione custom e defina height (altura), width (largura) e dpi para a exibição personalizada.

  6. (Opcional) Clique em Add secondary display para adicionar uma terceira exibição.

  7. Clique em Apply changes para adicionar as telas especificadas ao dispositivo virtual em execução.

A adição de várias telas abre a guia de exibição dos controles estendidos do emulador.

Novos dispositivos virtuais e modelos de projeto para o Android Automotive OS

Ao criar um novo projeto usando o Android Studio, agora você pode selecionar entre três modelos na guia Automotive no assistente Create New Project: No Activity, Media service e Messaging service. Para projetos já existentes, você pode adicionar suporte a dispositivos Android Automotive selecionando File > New > New Module na barra de menus e selecionando Automotive Module. O assistente Create New Module vai orientar você na criação de um novo módulo usando um dos modelos de projeto do Android Automotive.

Seleção de um modelo de projeto do Android Automotive..

Além disso, agora você pode criar um Dispositivo virtual Android (AVD, na sigla em inglês) para dispositivos Android Automotive OS selecionando uma das opções a seguir na guia Automotive no assistente Virtual Device Configuration.

  1. Polestar 2: crie um AVD que emule a unidade principal do Polestar 2.
  2. Automotive (paisagem 1.024p): crie um AVD para unidades genéricas do Android Automotive de 1024 x 768 px.

Seleção de um dispositivo virtual Android Automotive..

Downloads recuperáveis do SDK

Ao fazer o download de componentes e ferramentas do SDK usando o SDK Manager, o Android Studio agora permite retomar downloads interrompidos (por exemplo, devido a um problema de rede) em vez de reiniciá-los desde o começo. Essa melhoria é útil principalmente para downloads grandes, como do Android Emulator ou de imagens do sistema, quando a conectividade de Internet não é confiável.

Além disso, se você tem uma tarefa de download do SDK em execução em segundo plano, é possível pausar ou retomar o download usando os controles na barra de status.

Uma tarefa de download em segundo plano na barra de status com novos
            controles que permitem pausar ou retomar o download.

Uma tarefa de download em segundo plano na barra de status com novos controles que permitem pausar ou retomar o download.

Descontinuação do Win32

A versão para Windows de 32 bits do Android Studio não vai mais receber atualizações após dezembro de 2019, nem suporte após dezembro de 2020. Você pode continuar usando o Android Studio. No entanto, para receber mais atualizações, faça upgrade da sua estação de trabalho para uma versão de 64 bits do Windows.

Para saber mais, leia o blog sobre a descontinuação do Windows de 32 bits (em inglês).

Nova opção para otimizar o tempo de sincronização do Gradle

Nas versões anteriores, o Android Studio recuperava a lista de tarefas do Gradle durante a sincronização com o Gradle. Em projetos grandes, recuperar a lista de tarefas pode causar lentidão nos tempos de sincronização.

Para melhorar a performance da sincronização do Gradle, acesse File > Settings > Experimental e selecione "Do not build Gradle task list during Gradle sync".

Quando você ativa essa opção, o Android Studio pula a criação da lista de tarefas durante a sincronização, o que permite que ela seja concluída mais rapidamente e melhora a capacidade de resposta da interface. Não se esqueça de que, quando o ambiente de desenvolvimento integrado pula a criação da lista de tarefas, elas ficam vazias no painel do Gradle, e o preenchimento automático do nome da tarefa nos arquivos do build não funciona.

Novo local para alternar o modo off-line do Gradle

Para ativar ou desativar o modo off-line do Gradle, selecione View > Tool Windows > Gradle na barra de menus. Em seguida, na parte de cima da janela Gradle, clique em Toggle Offline Mode Botão "Gradle off-line" no painel do Gradle..

IntelliJ IDEA 2019.2

O ambiente de desenvolvimento integrado principal do Android Studio foi atualizado com melhorias da versão 2019.2 do IntelliJ IDEA.

Para saber mais sobre as melhorias de outras versões do IntelliJ incluídas cumulativamente na versão 2019.2, consulte as seguintes páginas (em inglês):

Colaboradores da comunidade

Agradecemos a todos os colaboradores da comunidade que nos ajudaram a descobrir bugs e outras formas de melhorar o Android Studio 3.6. Em particular, gostaríamos de agradecer às seguintes pessoas que relataram bugs:

  • 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 Gonçalves
  • 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