Android Studio 3.0 (outubro de 2017)

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

Usuários do macOS: se você estiver atualizando uma versão mais antiga do Android Studio, pode encontrar uma caixa de diálogo de erro de atualização que diz "Alguns conflitos foram encontrados na área de instalação". Simplesmente ignore esse erro e clique em Cancelar para continuar a instalação.

3.0.1 (novembro de 2017)

Esta é uma atualização secundária para o Android Studio 3.0 que inclui correções gerais de bugs e melhorias na performance.

Plug-in do Android para Gradle 3.0.0

O novo plug-in do Android para Gradle inclui uma variedade de melhorias e novos recursos, mas melhora principalmente o desempenho de build para projetos que possuem um grande número de módulos. Ao usar o novo plug-in com esses projetos grandes, você terá o seguinte:

  • Tempos de configuração do build mais rápidos devido à nova resolução de dependência atrasada.
  • Resolução de dependência com reconhecimento de variantes apenas para os projetos e as variantes que você está criando.
  • Tempos de build incrementais mais rápidos ao aplicar mudanças simples no código ou nos recursos.

Observação: essas melhorias exigiram mudanças significativas que interrompem alguns dos comportamentos, DSL e APIs do plug-in. O upgrade para a versão 3.0.0 pode exigir mudanças nos seus arquivos de build e plug-ins do Gradle.

Esta versão também inclui o seguinte:

  • Compatibilidade com Android 8.0.
  • Suporte à criação de APKs separados com base nos recursos da linguagem.
  • Suporte a bibliotecas Java 8 e recursos da linguagem Java 8 (sem o compilador Jack).
  • Suporte à Biblioteca de Suporte Android Test 1.0 (Android Test Utility e Android Test Orchestrator).
  • As velocidades de build de ndk-build e cmake foram melhoradas.
  • Melhoria na velocidade de sincronização do Gradle.
  • O AAPT2 agora está ativado por padrão.
  • O uso de ndkCompile agora é mais restrito. Em vez disso, você precisa migrar para o CMake ou o ndk-build para compilar o código nativo que quer empacotar no seu APK. Para saber mais, leia Migrar do ndkcompile.

Para saber mais sobre o que foi mudado, consulte as Notas da versão do plug-in do Android para Gradle.

Se você estiver pronto para fazer upgrade para o novo plug-in, consulte Migrar para o plug-in do Android para Gradle 3.0.0.

Suporte ao Kotlin

Conforme anunciado no Google I/O 2017, a linguagem de programação Kotlin agora tem oficialmente suporte ao Android. Portanto, com esta versão, o Android Studio inclui suporte à linguagem Kotlin para desenvolvimento do Android.

É possível incorporar o Kotlin ao projeto convertendo um arquivo Java para o Kotlin (clique em Code > Convert Java File to Kotlin File) ou criando um novo projeto ativado pelo Kotlin usando o assistente New Project.

Para começar, leia como adicionar o Kotlin ao projeto.

Compatibilidade com recursos da linguagem Java 8

Agora você pode usar determinados recursos da linguagem Java 8 e consumir bibliotecas criadas com o Java 8. O Jack não é mais necessário, e você precisa desativar o Jack antes de usar o suporte aprimorado da linguagem Java 8 incorporado ao conjunto de ferramentas padrão.

Para atualizar o projeto para que seja compatível com o novo conjunto de ferramentas da linguagem Java 8, atualize a Source Compatibility e a Target Compatibility para 1.8 na caixa de diálogo Project Structure (clique em File > Project Structure). Para saber mais, leia como usar os recursos da linguagem Java 8.

Android Profiler

O novo Android Profiler substitui a ferramenta Android Monitor e fornece um novo conjunto de ferramentas para medir o uso da CPU, memória e rede do seu app em tempo real. Você pode rastrear pelo método baseado em amostra para cronometrar a execução do código, capturar despejos de heap, ver alocações de memória e inspecionar os detalhes de arquivos transmitidos pela rede.

Para abrir, clique em View > Tool Windows > Android Profiler (ou clique em Android Profiler na barra de ferramentas).

A linha do tempo do evento, na parte de cima da janela, mostra eventos de toque, pressionamentos de teclas e mudanças de atividades para que você tenha mais contexto para entender outros eventos de desempenho na linha do tempo.

Observação: a visualização Logcat também foi movida para uma janela separada (ela estava anteriormente no Android Monitor, que foi removido).

Na linha do tempo de visão geral do Android Profiler, clique nas linhas do tempo da CPU, MEMORY ou NETWORK para acessar as ferramentas do criador de perfil correspondentes.

CPU Profiler

Com o CPU Profiler você analisa o uso da linha de execução da CPU do app pelo acionamento de um rastro de CPU instrumentado ou de exemplo. Em seguida, você pode solucionar problemas de desempenho da CPU usando vários modos de visualização de dados e filtros.

Para saber mais, consulte o Guia do CPU Profiler.

Memory Profiler

O Memory Profiler ajuda a identificar vazamentos e rotatividade de memória que podem gerar oscilações, travamentos e até mesmo falhas no app. O componente mostra um gráfico em tempo real do uso da memória pelo app, permite capturar um heap dump, forçar coletas de lixo e rastrear alocações de memória.

Para saber mais, consulte o Guia do Memory Profiler.

Network Profiler

O Network Profiler permite monitorar a atividade de rede do app, inspecionar o payload de cada uma das suas solicitações de rede e vincular novamente ao código que gerou a solicitação de rede.

Para saber mais, consulte o Guia do Network Profiler.

Criação de perfil e depuração do APK

O Android Studio agora permite criar perfis e depurar qualquer APK sem ter que criá-lo usando um projeto do Android Studio, desde que o APK seja criado para permitir a depuração e você tenha acesso aos símbolos de depuração e aos arquivos de origem.

Para começar, clique em Profile or debug APK na tela de boas-vindas do Android Studio. Ou, se já tiver um projeto aberto, clique em File > Profile or debug APK na barra de menus. Isso exibe os arquivos APK descompactados, mas não descompila o código. Portanto, para adicionar pontos de interrupção e ver corretamente os stack traces, é necessário anexar arquivos de origem Java e símbolos de depuração nativos.

Para mais informações, consulte Criar perfil e depurar APKs prontos.

Device File Explorer

O novo Device File Explorer permite que você inspecione o sistema de arquivos do dispositivo conectado e transfira arquivos entre o dispositivo e o computador. Isso substitui a ferramenta do sistema de arquivos disponível no DDMS.

Para abrir, clique em View > Tool Windows > Device File Explorer.

Para mais informações, consulte o Guia do Device File Explorer.

Suporte ao Instant Apps

O novo suporte a Apps instantâneos Android permite criar Apps instantâneos no seu projeto usando dois novos tipos de módulos: Instant App e Feature. Eles exigem a instalação do SDK de desenvolvimento de Apps instantâneos.

O Android Studio também inclui uma nova ação de refatoração modular para oferecer suporte a Apps instantâneos em um projeto já existente. Por exemplo, se você quiser refatorar seu projeto para colocar algumas classes em um módulo de recurso do Instant App, selecione as classes na janela Project e clique em Refactor > Modularize. Na caixa de diálogo mostrada, selecione o módulo para onde as classes precisam ir e clique em OK.

Quando estiver tudo pronto para testar o app instantâneo, crie e execute o módulo Instant App em um dispositivo conectado, especificando o URL do app instantâneo nas opções de início da configuração de execução: selecione Run > Edit Configurations, selecione o módulo Instant App e defina o URL em Launch Options.

Para mais informações, consulte Instant Apps Android.

Módulos do Android Things

Novos modelos do Android Things nos assistentes New Project e New Module para ajudar você a começar a desenvolver dispositivos IoT baseados em Android.

Para mais informações, veja como criar um projeto do Android Things.

Assistente de ícones adaptáveis

O Image Asset Studio agora oferece suporte a drawables vetoriais, permite criar ícones na tela de início adaptáveis para o Android 8.0 e, ao mesmo tempo, cria ícones tradicionais (ícones "Legacy") para dispositivos mais antigos.

Para começar, clique com o botão direito do mouse na pasta res no projeto e, em seguida, clique em New > Image Asset. Na janela do Asset Studio, selecione Launcher Icons (Adaptive and Legacy) como o tipo de ícone.

Observação: defina compileSdkVersion para 26 ou mais recente para usar ícones adaptativos na tela de início.

Para saber mais, leia sobre Ícones adaptativos.

Suporte a recursos de fonte

Para compatibilidade com novos recursos de fontes no Android 8.0, o Android Studio inclui um seletor de recursos de fontes para ajudar a agregar fontes ao app ou configurar seu projeto para fazer o download das fontes no dispositivo (quando disponíveis). Com o editor de layout também é possível visualizar as fontes no seu layout.

Para testar fontes para download, confira se o dispositivo ou emulador está executando o Google Play Services v11.2.63 ou mais recente. Para ver mais informações, leia sobre Fontes para download.

Assistente do Firebase para indexação de apps

O Firebase Assistente foi atualizado com um novo tutorial para testar a indexação de apps. Para abrir o assistente, selecione Tools > Firebase. Em seguida, selecione App Indexing > Test App Indexing.

O tutorial inclui novos botões para testar a indexação de conteúdo público e pessoal:

  • Na etapa 2, clique em Preview search results para verificar se os URLs estão sendo exibidos nos resultados da Pesquisa Google.
  • Na etapa 3, clique em Check for errors para verificar se os objetos indexáveis no seu app foram adicionados ao índice de conteúdo pessoal.

O App Links Assistant foi atualizado com estes novos recursos:

  • Adicione testes de URL a cada mapeamento de URL para ter certeza de que seus filtros de intent processam URLs reais.

    Você também pode definir esses testes de URL manualmente usando a tag <tools:validation> descrita abaixo.

  • Crie um arquivo Digital Asset Links com a entrada de objeto adequada para oferecer suporte ao Google Smart Lock e adicione a tag correspondente asset_statements <meta-data> ao arquivo de manifesto.

Validador de filtro de intent de URL

O Android Studio agora tem suporte a uma tag especial no arquivo de manifesto que permite testar seus URLs de filtro de intent. Essas são as mesmas tags que o App Links Assistant pode criar para você.

Para declarar um URL de teste para um filtro de intent, adicione um elemento <tools:validation> ao elemento <intent-filter> correspondente. Por exemplo:

      <activity ...>
          <intent-filter>
              ...
          </intent-filter>
          <tools:validation testUrl="https://www.example.com/recipe/1138" />
      </activity>
    
    

Inclua também xmlns:tools="http://schemas.android.com/tools" na tag <manifest>.

Se algum dos URLs de teste não transmitir a definição do filtro de intent, um erro de lint será exibido. Esse erro ainda permite criar variantes de depuração, mas isso quebra os builds de lançamento.

Layout Editor

O Layout Editor foi atualizado com várias melhorias, incluindo o seguinte:

  • Novo layout da barra de ferramentas e ícones.
  • Layout atualizado na árvore de componentes.
  • Melhorias nas inserções de visualização de arrastar e soltar.
  • Novo painel de erro abaixo do editor, mostrando todos os problemas com sugestões de correção (se disponíveis).
  • Várias melhorias da IU para criar com ConstraintLayout, incluindo o seguinte:
    • Novo suporte para criar barreiras.
    • Novo suporte para criar grupos: na barra de ferramentas, selecione Guidelines > Add Group (requer o ConstraintLayout 1.1.0 beta 2 ou mais recente).
    • Nova interface para criar redes: selecione várias visualizações, clique com o botão direito do mouse e selecione Chain.

Layout Inspector

O Layout Inspector inclui melhorias para facilitar a depuração de problemas com os layouts do seu app, incluindo agrupamento de propriedades em categorias comuns e nova funcionalidade de pesquisa nos painéis View Tree e Properties.

APK Analyzer

Agora você pode usar o APK Analyzer da linha de comando com a ferramenta apkanalyzer.

O APK Analyzer também foi atualizado com as seguintes melhorias:

  • Para APKs criados com o ProGuard, você pode carregar arquivos de associação do ProGuard que adicionam recursos ao DEX Viewer, incluindo estes:
    • Nós em negrito para indicar que eles não podem ser removidos ao reduzir o código.
    • Um botão para mostrar nós que foram removidos durante o processo de redução.
    • Um botão que restaura os nomes originais dos nós na visualização em árvore que foram ofuscados pelo ProGuard.
  • O DEX Viewer agora mostra o impacto do tamanho estimado de cada pacote, classe e método.
  • Novas opções de filtragem na parte de cima para mostrar e ocultar campos e métodos.
  • Na exibição em árvore, os nós que são referências não definidas no arquivo DEX aparecem em itálico.

Para saber mais, consulte Analisar seu build com o APK Analyzer.

Visualização do compilador D8 DEX

O Android Studio 3.0 inclui um novo compilador DEX opcional chamado D8. Ele acabará substituindo o compilador DX, mas você pode optar por usar o novo compilador D8 agora.

A compilação de DEX afeta diretamente o tempo de build do app, o tamanho do arquivo .dex e o desempenho do ambiente de execução. E ao comparar o novo compilador D8 com o compilador DX atual, o D8 compila mais rapidamente e gera arquivos .dex menores, tendo o mesmo ou melhor desempenho em tempo de execução de apps.

Para testá-lo, defina o seguinte no arquivo gradle.properties do seu projeto:

android.enableD8=true
    

Para saber mais, consulte a postagem do blog sobre o compilador D8 (em inglês).

Repositório Maven do Google

O Android Studio agora usa o Repositório Maven do Google por padrão, em vez de depender do Gerenciador do Android SDK para receber atualizações da Android Support Library, do Google Play Services, do Firebase e de outras dependências. Isso facilita manter as bibliotecas atualizadas, principalmente ao usar um sistema de integração contínua (CI).

Todos os novos projetos agora incluem o repositório Maven do Google por padrão. Para atualizar seu projeto, adicione google() ao bloco repositories do arquivo build.gradle de nível superior:

      allprojects {
          repositories {
              google()
          }
      }
    
    

Saiba mais sobre o repositório Maven do Google neste link.

Outras alterações

  • A depuração nativa com o Android Studio não tem mais suporte ao Windows de 32 bits. Optamos por nos concentrar em outras plataformas porque poucos desenvolvedores estão usando essa plataforma. Se você está usando o Windows de 32 bits e planeja a depuração do código nativo, continue usando o Android Studio 2.3.
  • Upgrade do ambiente de desenvolvimento integrado de base para o IntelliJ 2017.1.2, que adiciona vários recursos novos de 2016.3 e 2017.1, como refatoração de linguagem Java 8, dicas de parâmetro, realce semântico, pontos de interrupção arrastáveis, resultados instantâneos na pesquisa e muito mais.
  • Foram adicionadas muitas verificações novas de lint.
  • Confira também as últimas atualizações do Android Emulator.