Android Studio 4.1 (agosto de 2020)

O Android Studio 4.1 é uma versão principal que inclui uma variedade de novos recursos e melhorias.

4.1.3 (março de 2021)

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).

4.1.2 (janeiro de 2021)

<p>
  This minor update includes various bug fixes.
  To see a list of notable bug fixes, read the related post on the
  <a href="https://androidstudio.googleblog.com/2021/01/android-studio-412-available.html">
    Release Updates blog</a>.
</p>
<p><b>4.1.1 (November 2020)</b></p>

<p>
  This minor update includes various bug fixes.
  To see a list of notable bug fixes, read the related post on the
  <a href="https://androidstudio.googleblog.com/2020/11/android-studio-411-available.html">
    Release Updates blog</a>.
</p>

Novo Database Inspector

Inspecione, consulte e modifique os bancos de dados no seu app em execução usando o novo Database Inspector. Para começar, implante o app em um dispositivo com o nível 26 da API ou mais recente e selecione View > Tool Windows > Database Inspector na barra de menus.

Para saber mais, consulte Depurar seu banco de dados com o Database Inspector.

Executar o Android Emulator diretamente no Android Studio

Agora, você pode executar o Android Emulator diretamente no Android Studio. Use esse recurso para economizar espaço na tela, navegar rapidamente entre o emulador e a janela do editor usando teclas de atalho e organizar o fluxo de trabalho do ambiente de desenvolvimento integrado e do emulador em uma única janela do aplicativo.

O emulador é iniciado em uma janela de ferramentas no Android Studio.

Para saber mais, consulte a documentação do Android Emulator.

Usar modelos do TensorFlow Lite

O ML Model Binding facilita a importação direta de arquivos de modelo .tflite e o uso deles nos projetos. O Android Studio gera classes fáceis de usar para que você possa executar seu modelo com menos código e melhor segurança de tipos.

Modelos com suporte

A implementação atual do ML Model Binding oferece suporte a modelos de classificação de imagem e transferência de estilo, desde que sejam aprimorados com metadados. Com o tempo, o suporte será expandido para outros domínios com problemas, como detecção de objetos, segmentação de imagens e classificação de texto.

Uma grande variedade de modelos pré-treinados com metadados é fornecida no TensorFlow Hub. Também é possível adicionar metadados a um modelo do TensorFlow Lite, conforme descrito em Adding metadata to TensorFlow Lite model (Adicionar metadados ao modelo do TensorFlow Lite).

Importar um arquivo de modelo

Para importar um arquivo de modelo compatível, siga estas etapas:

  1. Abra a caixa de diálogo de importação do modelo do TensorFlow Lite no menu File em File > New > Other > TensorFlow Lite Model.
  2. Selecione o arquivo de modelo .tflite que você transferiu por download ou criou anteriormente.
  3. Clique em Finish.

O arquivo de modelo é importado para o projeto e colocado na pasta ml/. Se o diretório não existe, o Android Studio vai criá-lo para você.

Importar um modelo do TensorFlow Lite

Conferir metadados e uso do modelo

Para conferir os detalhes de um modelo importado e receber instruções sobre como usá-lo no app, clique duas vezes no arquivo de modelo no projeto para abrir a página do visualizador de modelos, que mostra o seguinte:

  • Model: descrição de alto nível do modelo
  • Tensors: descrição dos tensores de entrada e saída
  • Sample code: exemplo de como interagir com o modelo no app

Confira um exemplo usando mobilenet_v1_0.25_160_quantized.tflite:

Como mostrado no exemplo, o Android Studio cria uma classe chamada MobilenetV1025160Quantized para interagir com o modelo.

Se o modelo não tiver metadados, essa tela vai fornecer apenas informações mínimas.

Problemas conhecidos e soluções alternativas

  • No momento, o suporte é limitado para modelos do TensorFlow Lite para domínios com problemas que não sejam classificação de imagens e transferência de estilos. Embora a importação funcione bem, algumas entradas e/ou saídas de modelo são representadas por TensorBuffers, em vez de tipos amigáveis. Para modelos sem metadados, todas as entradas e saídas de modelo serão TensorBuffers.
  • Não há suporte para modelos com tipos de dados de entrada e saída diferentes de DataType.UINT8 ou DataType.FLOAT32.

Esse recurso ainda está em desenvolvimento. Por isso, forneça feedback ou informe bugs.

Memory Profiler nativo

O Memory Profiler do Android Studio agora inclui um Native Memory Profiler para apps implantados em dispositivos físicos que executam o Android 10 ou mais recente. Com o Native Memory Profiler, você pode gravar alocações de memória e desalocações pelo código nativo e inspecionar estatísticas cumulativas sobre objetos nativos.

Uma gravação no Native Memory Profiler

Para saber mais sobre o Native Memory Profiler, consulte Inspecionar o uso da memória do app com o Memory Profiler.

Problemas conhecidos e soluções alternativas

O Native Memory Profiler no Android Studio 4.1 não funciona para dispositivos Android 11. No momento, o suporte a criação de perfil de dispositivos Android 11 está disponível na versão de pré-lançamento do 4.2.

A partir da versão 4.1 inicial, a criação de perfil de inicialização de apps foi desativada. Essa opção será ativada em uma versão futura.

Como solução alternativa, você pode usar o criador de perfil de linha de comando autônomo Perfetto (link em inglês) para capturar perfis de inicialização.

interface de rastreamento do sistema: seleção mais fácil, nova ginterfacea de análise e mais dados de renderização de frames

A interface de rastreamento do sistema no criador de perfil do Android Studio incliu as seguintes melhorias:

  • Seleção de caixa: na seção Threads, você pode arrastar o mouse para fazer uma seleção de caixa de uma área retangular, na qual é possível aplicar zoom clicando no botão Zoom to Selection Os criadores de perfil aplicam zoom até o botão de seleção no canto superior direito. Você também pode usar o atalho de teclado M. Ao arrastar e soltar linhas de execução semelhantes ao lado uma da outra, você pode selecionar várias linhas de execução para inspecionar todas elas de uma só vez. Por exemplo, é possível executar a análise em várias linhas de execução de worker.

  • Guia Summary: a nova guia Summary no painel Analysis mostra:

    • Estatísticas agregadas para todas as ocorrências de um evento específico, como uma contagem de ocorrências e duração mínima/máxima.

    • Estatísticas de eventos de rastreamento para a ocorrência selecionada.

    • Dados sobre a distribuição de estado da linha de execução.

    • Ocorrências de execução mais longa do evento de rastreamento selecionado.

    Para navegar para outra ocorrência, selecione outra linha na tabela.

  • Dados de exibição: na seção Display, as novas linhas do tempo para SurfaceFlinger e VSYNC ajudam a investigar problemas de renderização na interface do app.

Para instruções básicas de uso sobre como gravar um rastreamento do sistema, consulte a seção Gravar rastros de Inspecionar atividade de CPU com o CPU Profiler.

Criadores de perfil autônomos já disponíveis

Com os novos criadores de perfil autônomos, agora é possível definir o perfil do app sem executar o ambiente de desenvolvimento integrado completo do Android Studio.

Consulte Executar criadores de perfis autônomos para instruções sobre como usá-los.

Suporte de navegação do Dagger

Ações de gutter de ambiente de desenvolvimento integrado para acessar consumidores e provedores do Dagger

O Android Studio facilita a navegação entre o código relacionado ao Dagger fornecendo novas ações de gutter e ampliando o suporte na janela Find Usages.

  • Novas ações de gutter: para projetos que usam o Dagger, o ambiente de desenvolvimento integrado fornece ações de gutter para navegar no código anotado pelo Dagger. Por exemplo, clicar na ação de gutter ao lado de um método que consome um determinado tipo direciona ao provedor desse tipo. Por outro lado, ao clicar na ação de gutter , você navega para onde um tipo é usado como uma dependência.

  • Nó Find Usages: quando você invoca Find Usages em um provedor de um determinado tipo, a janela Find agora inclui um consumidor de dependências que lista os consumidores desse tipo. Por outro lado, ao invocar essa ação em um consumidor de uma dependência injetada pelo Dagger, a janela Find vai mostrar o provedor dessa dependência.

Componentes do Material Design: temas e estilos atualizados em novos modelos de projeto

Animação: como criar um projeto no Android Studio com novas propriedades do Material Design.

Os modelos do Android Studio na caixa de diálogo Create New Project agora usam Material Design Components (MDC) (link em inglês) e seguem as orientações atualizadas para temas e estilos por padrão. Confira o que as atualizações incluem:

  • MDC: os projetos dependem de com.google.android.material:material em build.gradle. Os temas base do app usam pais Theme.MaterialComponents.* e substituem a cor do MDC atualizada e os atributos "ativados".

  • Recursos de cores: os recursos de cores em colors.xml usam nomes específicos, como purple_500 em vez de colorPrimary.

  • Recursos de tema: os recursos de tema estão em themes.xml (em vez de styles.xml) e usam nomes Theme.<var><var>.

  • Tema escuro: os temas base de apps usam pais DayNight e são divididos entre res/values e res/values-night.

  • Atributos de tema: os recursos de cor são referenciados como atributos de tema (por exemplo, ?attr/colorPrimary) em layouts e estilos para evitar cores codificadas.

IntelliJ IDEA 2020.1

O ambiente de desenvolvimento integrado principal do Android Studio foi atualizado com as melhorias do IntelliJ IDEA até a versão 2020.1, incluindo uma nova janela Commit que permite operações de controle de versões e um novo modo Zen que pode ser alternado, selecionando View > Appearance > Enter Distraction Free Mode.

Para saber mais sobre as melhorias na versão 2020.1, consulte IDEA 2020.1 (link em inglês).

Mudanças no diretório de configuração do ambiente de desenvolvimento integrado

Os locais dos diretórios de configuração do usuário foram modificados para:

Windows

Sintaxe: %APPDATA%\Google&lt;product><version>

Exemplo: C:\Users\YourUserName\AppData\Roaming\Google\AndroidStudio4.1

macOS

Sintaxe: ~/Library/Application Support/Google/<product><version>

Exemplo: ~/Library/Application Support/Google/AndroidStudio4.1

Linux

Sintaxe: ~/.config/Google/<product><version>

Exemplo: ~/.config/Google/AndroidStudio4.1

Esses novos locais de diretório são consistentes com as atualizações recentes do IntelliJ IDEA (link em inglês), o ambiente de desenvolvimento integrado do Android Studio.

Se o Studio não for reiniciado depois de um upgrade, talvez seja necessário excluir o diretório de configuração de uma versão anterior do Studio. Consulte a página Problemas conhecidos para mais informações.

Kotlin 1.3.72

O Android Studio 4.1 vem com o Kotlin 1.3.72, que inclui várias correções para melhorar o destaque, as inspeções e o preenchimento de código do Kotlin. Consulte o registro de mudanças do Kotlin 1.3.72 (link em inglês) para mais detalhes.

Exibição da visualização personalizada

Ao criar uma visualização personalizada, por exemplo, estendendo a classe View ou Button, o Android Studio agora mostra uma prévia dessa visualização. Use o menu suspenso na barra de ferramentas para alternar entre várias visualizações personalizadas ou clique nos botões para alinhar verticalmente ou horizontalmente ao conteúdo.

Exibição de visualizações personalizadas no ambiente de desenvolvimento integrado.

Observação: se você não encontrar suas mudanças na prévia, selecione Build > Make Project na barra de menus.

Simbolização de relatórios de erros nativos

Quando ocorre uma falha ou um ANR no código nativo, o sistema produz um stack trace, que é um snapshot da sequência de funções aninhadas chamadas no programa até o momento em que ele falhou. Esses snapshots podem identificar e corrigir problemas na origem, mas primeiro precisam ser simbolizados para converter os endereços de máquina de volta em nomes de funções legíveis por humanos.

Caso seu app ou jogo seja desenvolvido usando código nativo, como C++, você pode fazer upload de arquivos de símbolos de depuração para o Play Console de cada versão do app. O Play Console usa esses arquivos de símbolos de depuração para identificar os stack traces do app, facilitando a análise de falhas e ANRs. Para aprender a fazer upload de arquivos de símbolos de depuração, consulte Suporte a falhas nativas.

Aplicar mudanças

Para aumentar a produtividade durante a iteração no seu app, fizemos as seguintes melhorias em "Apply Changes" para dispositivos que executam a Prévia do desenvolvedor 3 ou mais recente do Android 11:

Velocidades de implantação mais rápidas

Investimos muito na otimização da velocidade de iteração desenvolvendo um método para implantar e manter mudanças em um dispositivo sem instalar o aplicativo. Após uma implantação inicial, as implantações subsequentes feitas nos dispositivos Android 11 com Apply Code Changes Ícone de &quot;Apply Code Changes&quot; ou Apply Changes and Restart Activity Ícone de &quot;Apply Changes and Restart Activity&quot; agora são muito mais rápidas.

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

Compatibilidade com outras mudanças de código

Para dispositivos com a Visualização do desenvolvedor 3 do Android 11 ou mais recente, agora é possível adicionar métodos e implantar essas mudanças no app em execução clicando em Apply Code Changes Ícone de &quot;Apply Code Changes&quot; ou Apply Changes and Restart Activity Ícone de &quot;Apply Changes and Restart Activity&quot;.