Novos recursos na visualização do Android Studio

O Android Studio 3.1.4 foi lançado para o Canal Stable. Faça o download aqui.

O Android Studio 3.3 está atualmente nos Canais Canary e Dev.

O Android Studio 3.2 está atualmente no Canal Beta.

Esta página fornece um resumo dos novos recursos e mudanças nessas versões de visualização.

Para ver as notícias mais recentes sobre as versões, incluindo uma lista das principais correções em cada uma, consulte também as Atualizações de versão.

Se você encontrar algum problema ao usar uma versão de visualização do Android Studio, informe-nos. Seus relatórios de bugs ajudam a melhorar o Android Studio.

Android Studio 3.3

Esta seção fornece um resumo dos novos recursos e mudanças no Android Studio 3.3.

Caixa de diálogo "Mostrar daemons do Gragle"

Agora é possível visualizar uma lista dos daemons do Gragle ativos no Android Studio. Para fazer isso, pressione duas vezes a tecla Shift para abrir a caixa de diálogo Pesquisar em todos os lugares, digite "Mostrar daemons do Gragle" e clique no resultado de Mostrar daemons do Gragle exibido.

R8 ativado por padrão

O R8 é uma nova ferramenta para ofuscação e redução de código que substitui o ProGuard e fica ativada por padrão. Se você tiver problemas com o R8, informe o bug É possível desativar o R8 adicionando o trecho a seguir ao arquivo gradle.properties do seu projeto:

android.enableR8 = false

Sincronização de projeto de variante única

Sincronizar seu projeto com a configuração da versão é uma etapa importante para permitir que o Android Studio entenda como o projeto está estruturado. No entanto, esse processo pode levar muito tempo em projetos grandes. Se seu projeto usa diversas variantes de versão, agora você pode otimizar as sincronizações dele, limitando-as apenas à variante selecionada no momento.

Quando você sincronizar seu projeto usando o Android Studio 3.3 Canary 6 ou versões posteriores, o ambiente de desenvolvimento integrado (IDE, na sigla em inglês) solicitará a ativação dessa otimização.

Para ativar a otimização manualmente, clique em Arquivo > Configurações > Experimental > Gradle (Android Studio > Preferências > Experimental > Gradle em um Mac) e marque Resolver somente as variantes selecionadas.

Caixa de diálogo "Estrutura do projeto" atualizada

O Android Studio 3.3 Canary 4 introduz atualizações à caixa de diálogo "Estrutura do projeto". Ao abrir a caixa de diálogo selecionando Arquivo > Estrutura do projeto na barra de menu, é possível gerenciar como seu projeto é configurado com os novos recursos a seguir:

  • Visualize a estrutura real de um projeto, conforme resolvido pelo Gradle como uma sincronização de projeto. Por exemplo, visualize o gráfico de dependência de cada módulo.
  • Receba notificações quando novas versões das dependências de biblioteca estiverem disponíveis.
  • Configure um projeto por meio da IU da caixa de diálogo, sem editar manualmente os arquivos build.gradle.

Fornecer comentários rápidos

Se você optou por compartilhar estatísticas de uso para ajudar a melhorar o Android Studio, verá estes dois novos ícones na barra de status na parte inferior da janela do IDE:

Basta clicar no ícone que melhor representa sua experiência atual com o IDE. Quando você faz isso, o IDE envia estatísticas de uso para que a equipe do Android Studio entenda melhor sua opinião. Em alguns casos, como quando você indica uma experiência negativa com o IDE, você terá a oportunidade de adicionar um comentário.

Se ainda não tiver feito isso, ative o compartilhamento das estatísticas de uso: abra a caixa de diálogo Configurações (Preferências em um Mac), navegue para Aparência e comportamento > Configurações do sistema > Compartilhamento de dados e marque Enviar estatísticas de uso ao Google.

Remoção de opções para personalização de C++

As seguintes opções foram removidas da caixa de diálogo Personalizar suporte para C++:

  • suporte a Exceções (-fexceptions)
  • suporte a informações do tipo de tempo de execução (-ftti)

Os respectivos comportamentos são ativados para todos os projetos criados pelo Android Studio.

Android Studio 3.2

Esta seção fornece um resumo dos novos recursos e mudanças no Android Studio 3.2.

Assistente de novidades

O Android Studio 3.2 tem um novo painel Assistente, que informa sobre as alterações mais recentes no Android Studio.

O painel será aberto quando você iniciar o Android Studio se ele detectar que há novas informações a serem exibidas. Também é possível abrir o painel Assistente em Ajuda > Novidades no Android Studio.

Android Jetpack

O Android Jetpack ajuda a acelerar o desenvolvimento em Android com ferramentas, componentes e diretrizes que eliminam tarefas repetitivas e permitem criar apps testáveis e de alta qualidade com mais rapidez e facilidade. O Android Studio inclui as atualizações a seguir para fins de compatibilidade com o Jetpack. Para saber mais, consulte a documentação do Jetpack.

O novo Editor de navegação integra-se aos componentes de navegação do Android Jetpack para fornecer uma visualização gráfica da criação da estrutura de navegação do seu app. Esse editor simplifica o design e a implementação da navegação entre destinos no app.

O Editor de navegação é um recurso experimental no Android Studio 3.2. Para ativá-lo, clique em Arquivo > Configurações (Android Studio > Preferências no Mac), selecione a categoria Experimental no painel esquerdo e marque a caixa ao lado de Ativar o Editor de navegação.

Para saber mais, leia a documentação do Editor de navegação.

Migração do AndroidX

Como parte do Jetpack, estamos migrando as bibliotecas de suporte do Android para uma nova biblioteca de extensões do Android usando o namespace androidx. Para mais informações, leia o comunicado do AndroidX.

O Android Studio 3.2 ajuda você nesse processo com um novo recurso de migração.

Para migrar um projeto para o AndroidX, escolha Refatorar > Migrar para o AndroidX. Se você tiver alguma dependência do maven que não tenha sido migrada para o namespace do AndroidX, o sistema de criação do Android Studio também converterá essas dependências do projeto automaticamente.

O plug-in do Gradle para Android fornece as seguintes sinalizações globais que podem ser definidas no arquivo gradle.properties:

  • android.useAndroidX: quando definida como true, essa sinalização indica que você quer começar a usar o AndroidX a partir de agora. Se ela estiver ausente, o Android Studio se comportará como se a sinalização estivesse definida como false.
  • android.enableJetifier: quando definida como true, essa sinalização indica que você quer suporte da ferramenta (do plug-in do Gradle para Android) para converter automaticamente as bibliotecas de terceiros existentes como se elas tivessem sido escritas para o AndroidX. Se a sinalização estiver ausente, o Android Studio se comportará como se ela estivesse definida como false.

As duas sinalizações são definidas como true quando você usa o comando Migrar para o AndroidX.

Se você quiser começar a usar as bibliotecas do AndroidX imediatamente e não precisar converter bibliotecas de terceiros, defina a sinalização android.useAndroidX como true e a android.enableJetifier como false.

Android App Bundle

O Android App Bundle é um novo formato de upload que inclui todos os recursos e o código compilado do seu app, mas repassa a geração e a assinatura do APK para a Google Play Store.

O novo modelo de veiculação de apps do Google Play, chamado de Dynamic Delivery, usa seu pacote de apps para gerar e disponibilizar APKs otimizados para a configuração de dispositivo de cada usuário, para que eles façam o download apenas do código e dos recursos necessários à execução do app. Não é mais preciso criar, assinar e gerenciar vários APKs, e os usuários recebem downloads menores e mais otimizados.

Além disso, é possível adicionar módulos de recursos dinâmicos ao projeto do app e incluí-los no pacote de apps. Com a Dynamic Delivery, seus usuários poderão fazer o download dos recursos dinâmicos do app e instalá-los on demand.

Para criar um pacote, escolha Criar > Criar pacotes / APKs > Criar pacotes.

Para mais informações, incluindo instruções sobre como criar e analisar um Android App Bundle, consulte Introdução ao Android App Bundle.

Dados de amostra no editor de layout

Muitos layouts do Android têm dados de tempo de execução que podem dificultar a visualização da aparência de um layout durante o estágio de design do desenvolvimento do app. Agora é possível ver facilmente a visualização no editor de layout preenchida com dados de amostra. Ao adicionar uma visualização, um botão é exibido abaixo da visualização na janela "Design". Clique nesse botão para definir os atributos da visualização no tempo de design. Escolha entre uma variedade de modelos de dados de amostra e especifique o número de itens de amostra com os quais a visualização será preenchida.

Para usar os dados de amostra, adicione um RecyclerView a um novo layout, clique no botão de atributos de tempo de design abaixo da visualização e escolha uma seleção no carrossel de modelos de dados de amostra.

Parcelas

As Parcelas fornecem uma nova maneira de incorporar partes da funcionalidade do app em outras superfícies da interface do usuário no Android. Por exemplo, as parcelas permitem mostrar a funcionalidade e o conteúdo do app nas sugestões da Pesquisa Google.

O Android Studio 3.2 tem um modelo integrado para ajudar a expandir seu app com as novas APIs do Provedor de parcelas, além de novas verificações de lint para garantir que você esteja seguindo as práticas recomendadas ao criar as parcelas.

Para começar, clique com o botão direito do mouse em uma pasta de projeto e escolha Novo > Outro > Provedor de parcelas.

Para saber mais, incluindo como testar suas interações de parcelas, leia o Guia de primeiros passos com parcelas.

IntelliJ IDEA 2018.1.1

O IDE principal do Android Studio foi atualizado com melhorias da versão 2018.1.1 do IntelliJ IDEA.

Criadores de perfil do Android

Teste estes novos recursos do Android Profiler na versão mais recente do Android Studio 3.2.

Criador de perfil de energia

O Criador de perfil de energia exibe uma visualização do uso de energia estimado do seu app.

O Criador de perfil de energia aparece como uma nova linha na parte inferior da janela Criador de perfil durante a execução do seu app em um dispositivo conectado ou emulador Android que contém o Android 8.0 (API 26) ou versão posterior.

Clique na linha Energia para maximizar a visualização do Criador de perfil de energia. Coloque o ponteiro do mouse sobre uma barra na linha do tempo para ver um detalhamento do uso de energia pelos recursos de CPU, rede e local (GPS), bem como eventos do sistema, como wakelocks, alarmes e jobs.

Sessões

Agora é possível salvar os dados do Criador de perfil como "sessões" a serem revisitadas e inspecionadas posteriormente. O criador de perfil mantém os dados da sua sessão até que você reinicie o IDE.

Depois de implantar o app selecionando Executar > Perfil no menu principal, inicie uma nova sessão clicando em e selecionando um processo de app no menu suspenso, como mostrado abaixo.

Quando você registra os rastros de um método ou faz um heap dump (um instantâneo da memória de um processamento Java), o IDE adiciona esses dados (juntamente com a atividade de rede do seu app) como uma entrada separada para a sessão atual, e você pode alternar facilmente entre os registros para comparar os dados. Para interromper a adição de dados à sessão atual, clique em .

Rastros do sistema

No Criador de perfil de CPU, selecione a nova configuração Rastros do sistema para inspecionar a CPU do sistema e a atividade de threads do dispositivo. Essa configuração de rastros é criada no systrace e é útil para investigar problemas no nível do sistema, como instabilidade de IU.

Ao usar essa nova configuração de rastros, é possível marcar visualmente rotinas de código importantes na linha do tempo do criador de perfil instrumentando seu código com a classe Trace.

Inspecionar referências a JNI no Criador de perfil de memória

Se você implantar seu app em um dispositivo que executa o Android 8.0 (nível de API 26) ou versão posterior, agora será possível inspecionar as alocações de memória para o código JNI do app usando o Criador de perfil de memória.

Enquanto seu app está em execução, selecione uma parte da linha do tempo que você quer inspecionar e escolha Pilha de JNI no menu suspenso acima da lista de classes, conforme mostrado abaixo. Em seguida, será possível inspecionar objetos na pilha normalmente e clicar duas vezes em objetos na guia Pilha de chamadas de alocação para ver onde as referências a JNI são alocadas e liberadas no código.

Importar e inspecionar arquivos de memória do heap dump

Agora é possível importar e inspecionar arquivos de memória do heap dump .hprof criados com o Criador de perfil de memória.

Para importar o arquivo .hprof, clique em Iniciar nova sessão do criador de perfil no painel Sessões do criador de perfil e, em seguida, selecione Carregar do arquivo. Você poderá inspecionar os dados no Criador de perfil de memória como faria em qualquer outro heap dump.

Registrar a atividade da CPU durante a inicialização do app

Agora é possível registrar a atividade da CPU durante a inicialização do seu app da seguinte maneira:

  1. Selecione Executar > Editar configurações no menu principal.
  2. Na guia Criação de perfil da configuração desejada, marque a caixa ao lado de Iniciar registro de rastros de método na inicialização.
  3. Selecione uma configuração de registro da CPU a ser usada no menu suspenso.
  4. Implante seu app em um dispositivo com Android 8.0 (nível de API 26) ou versão posterior selecionando Executar > Perfil.

Exportar rastros da CPU

Depois de registrar a atividade da CPU com o Criador de perfil de CPU, é possível exportar os dados como um arquivo .trace para compartilhá-los com outras pessoas ou inspecioná-los posteriormente.

Faça o seguinte para exportar rastros depois de registrar a atividade da CPU:

  1. Clique com o botão direito no registro que você quer exportar da linha do tempo da CPU.
  2. Selecione Exportar rastros no menu suspenso.
  3. Navegue até o local onde você quer salvar o arquivo e clique em Salvar.

Importar e inspecionar arquivos de rastreamento da CPU

Agora é possível importar e inspecionar arquivos .trace criados com a Debug API ou o Criador de perfil de CPU. Atualmente, não é possível importar registros de Rastros do sistema.

Para importar o arquivo de rastreamento, clique em Iniciar nova sessão do criador de perfil no painel Sessões do criador de perfil e, em seguida, selecione Carregar do arquivo. Você poderá inspecionar os dados no Criador de perfil de CPU como faria normalmente, mas há algumas exceções:

  • A atividade da CPU não é representada ao longo da linha do tempo da CPU.
  • A linha do tempo de atividades de encadeamentos indica apenas onde os dados dos rastros estão disponíveis para cada encadeamento, e não os estados reais dos encadeamentos (como em execução, em espera ou em repouso).

Registrar a atividade da CPU usando a API Debug

Agora é possível iniciar e parar o registro da atividade da CPU no Criador de perfil de CPU instrumentando seu app com a API Debug. Após a implantação do seu app em um dispositivo, o criador de perfil inicia automaticamente o registro da atividade da CPU quando o app chama startMethodTracing(String tracePath). Além disso, o criador de perfil interrompe o registro quando o app chama stopMethodTracing(). Enquanto registra a atividade da CPU que acionou o uso dessa API, o Criador de perfil de CPU mostra a API Debug como a configuração de registro de CPU selecionada.

Verificação de Lint

O Android Studio 3.2 inclui muitos recursos novos e melhorados para verificação de lint.

Verificações de lint para interoperabilidade entre Java/Kotlin

Para garantir que seu código Java interaja bem com código Kotlin, as novas verificações de lint reforçam as práticas recomendadas descritas no Guia de interoperabilidade do Kotlin. Essas verificações incluem a procura pela presença de anotações de valores nulos, o uso de palavras-chave difíceis do Kotlin, o posicionamento de parâmetros lambda em último lugar, entre outras.

Para ativar essas verificações, acesse Arquivo > Preferências > Editor > Inspeções e verifique as regras que você quer ativar em Interoperabilidade do Kotlin, conforme mostrado abaixo. Em seguida, execute as verificações selecionando Analisar > Inspecionar código no menu principal.

Para ativar essas verificações para versões de linha de comando, adicione o seguinte ao seu arquivo build.gradle:

android {
    lintOptions {
        check 'Interoperability'
    }
}

Verificação de lint para parcelas

As novas verificações de lint para parcelas ajudam a garantir a criação correta de parcelas. Por exemplo, as verificações de lint avisam se você não atribuiu uma ação primária a uma parcela.

Outras novas verificações de lint

Além das verificações de lint para parcelas e interoperabilidade do Kotlin descritas nas seções anteriores, o Android Studio 3.2 implementa 20 novas verificações de lint para ajudar a localizar e identificar problemas comuns de código. Essas novas verificações incluem desde avisos sobre problemas de usabilidade em potencial até erros de alta prioridade relacionados a possíveis vulnerabilidades de segurança.

Novo alvo do Gradle

Use a nova tarefa lintFix do Gradle para aplicar todas as correções seguras sugeridas pela verificação de lint diretamente no código-fonte. Um exemplo de verificação de lint que sugere a aplicação de uma correção segura é SyntheticAccessor.

Atualizações de metadados

Vários metadados, como a verificação de cast de serviço, foram atualizados para que as verificações de lint funcionem com a visualização do Android P para desenvolvedores.

Aviso em caso de execução do lint em uma nova variante

O Lint agora registra com qual variante e versão um valor de referência foi registrado, além de avisar caso seja ele executado em uma variante diferente daquela criada pelo valor de referência.

Melhorias nas verificações de lint existentes

O Android Studio 3.2 inclui muitas melhorias nas verificações de lint existentes. Por exemplo, as verificações de ciclo de recursos agora se aplicam a mais tipos de recursos, e o detector de tradução agora pode encontrar traduções ausentes no editor em tempo real.

Códigos de problemas mais detectáveis

Os códigos de problemas agora são exibidos em mais locais, inclusive na janela Resultados da inspeção, facilitando a localização das informações necessárias para ativar ou desativar verificações específicas por meio de lintOptions em build.gradle.

Para mais informações, consulte Configurar opções de lint com o Gradle.

Data Binding V2

O Data Binding V2 agora está ativado por padrão e é compatível com a V1. Isso significa que, se você tiver dependências de biblioteca compiladas com a V1, será possível usá-las com projetos que usam o Data Binding V2. No entanto, projetos que usam a V1 não podem consumir dependências que foram compiladas com a V2.

Simplificar a leitura com D8

No Android Studio 3.1, integramos a etapa de simplificação de leitura à ferramenta D8 como um recurso experimental, reduzindo o tempo total de criação. Agora, no Android Studio 3.2, a simplificação de leitura com D8 foi ativada por padrão.

Novo redutor de código

O R8 é uma nova ferramenta para ofuscação e redução de código que substitui o ProGuard. Comece a usar a versão de visualização do R8 incluindo o seguinte no arquivo gradle.properties do seu projeto:

android.enableR8 = true

Alteração de ABIs padrão para vários APKs

Ao criar vários APKs voltados para uma ABI (interface binária de aplicação, na sigla em inglês) diferente, o plug-in não gera mais APKs para as seguintes ABIs por padrão: mips , mips64 e armeabi.

Se você quiser criar APKs voltados para essas ABIs, será preciso usar o NDK r16b ou anterior e especificar as ABIs no arquivo build.gradle, como mostrado abaixo:

splits {
    abi {
        include 'armeabi', 'mips', 'mips64'
        ...
    }
}

Melhoria de recursos do editor para arquivos de criação do CMake

Se você usa o CMake para adicionar código C e C++ ao seu projeto, o Android Studio agora inclui recursos de edição aprimorados enquanto você edita seus scripts de criação do CMake, como:

  • Destaque de sintaxe e preenchimento de código: o IDE destaca e sugere o preenchimento de código para comandos comuns do CMake. Além disso, é possível navegar para um arquivo clicando nele enquanto pressiona a tecla Control (ou Command no MacOS).
  • Reformatação de código: agora é possível usar a opção de reformatação de código do IntelliJ para aplicar estilos de código aos seus scripts de criação do CMake.
  • Refatoração segura: as ferramentas integradas de refatoração do IDE agora também verificam se você está renomeando ou excluindo os arquivos referenciados nos scripts de criação do CMake.

Ao usar a janela Projeto nas versões anteriores do Android Studio, era possível navegar e inspecionar apenas os arquivos de cabeçalho pertencentes às bibliotecas criadas em um projeto local. Com esta versão, agora você também pode ver e inspecionar os arquivos de cabeçalho incluídos nas dependências externas da biblioteca C/C++ importadas para o projeto do app.

Se você já inclui código e bibliotecas C/C++ no seu projeto, abra a janela Projeto no lado esquerdo do IDE selecionando Visualizar > Janelas de ferramentas > Projeto no menu principal e escolha Android no menu suspenso. No diretório cpp, todos os cabeçalhos que estão dentro do escopo do seu projeto de app são organizados sob o nó include de cada uma das dependências da biblioteca C/C++ local, conforme mostrado abaixo.

Multidex nativo ativado por padrão

As versões anteriores do Android Studio ativavam o multidex nativo ao implantar a versão de depuração de um app em um dispositivo com API do Android nível 21 ou posterior. Agora, esteja você implantando em um dispositivo ou criando um APK para lançamento, o plug-in do Android para Gradle aceita multidex nativo para todos os módulos com definição minSdkVersion=21 ou posterior.

AAPT2 migrado para o repositório Maven do Google

A partir do Android Studio 3.2 Canary 11, a origem do AAPT2 (Android Asset Packaging Tool 2) é o repositório Maven do Google.

Para usar o AAPT2, verifique se você tem uma dependência google() no arquivo build.gradle, como mostrado aqui:

  buildscript {
      repositories {
          google() // here
          jcenter()
      }
      dependencies {
          classpath 'com.android.tools.build:gradle:3.2.0-alpha12'
      }
  } allprojects {
      repositories {
          google() // and here
          jcenter()
  }

A nova versão do AAPT2 corrige muitos problemas, incluindo um melhor tratamento de caracteres não ASCII no Windows.

Remoção de configuração on demand

A preferência Configurar on demand foi removida do Android Studio.

O Android Studio não transmite mais o argumento --configure-on-demand para o Gradle.

ADB Connection Assistant

O novo ADB Connection Assistant fornece instruções passo a passo para ajudar a configurar e usar um dispositivo por meio da conexão do Android Debug Bridge (ADB).

Para iniciar o assistente, escolha Ferramentas > Connection Assistant.

O ADB Connection Assistant fornece instruções, controles em contexto e uma lista de dispositivos conectados em uma série de páginas no painel Assistente.

Melhorias do emulador

Agora é possível salvar e carregar instantâneos de um dispositivo virtual do Android (AVD, na sigla em inglês) a qualquer momento no Android Emulator, tornando rápido e fácil a tarefa de retornar um dispositivo emulado a um estado conhecido para fins de teste. Ao editar um AVD usando o AVD Manager, é possível especificar qual instantâneo do AVD será carregado quando ele for iniciado.

Os controles para salvar, carregar e gerenciar instantâneos do AVD agora estão na guia Instantâneos na janela Controles estendidos do emulador.

Consulte as notas de versão do emulador Android 27.3.0 Canary para ver mais detalhes.