O Google tem o compromisso de promover a igualdade racial para as comunidades negras. Saiba como.

Novos recursos na visualização do Android Studio

O Android Studio 4.0 foi lançado para o Canal estável. Faça o download aqui.

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

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 4.2

A assinatura de v3 e v4 agora é compatível

O Plug-in do Android para Gradle 4.2 agora é compatível com os formatos de assinatura de APK v3 e v4. Para ativar um ou ambos os formatos no seu build, adicione as seguintes propriedades ao arquivo build.gradle ou build.gradle.kts no nível do módulo:

Kotlin

// build.gradle.kts

android {
   ...
   signingConfigs {
      config {
          ...
          enableV3Signing(true)
          enableV4Signing(true)
      }
   }
}

Groovy

// build.gradle

android {
  ...
  signingConfigs {
    config {
        ...
        enableV3Signing true
        enableV4Signing true
    }
  }
}

As assinaturas de v3 e v4 oferecem os seguintes benefícios:

  • A assinatura do APK v3 permite a rotação de chaves, minimizando os efeitos de uma chave perdida.

  • A assinatura do APK v4 permite implantar rapidamente APKs grandes usando a instalação do APK incremental do ADB no Android 11. Essa nova sinalização cuida da etapa de assinatura do APK no processo de implantação.

Compatibilidade com o Jetpack Compose

O kit de ferramentas Jetpack Compose traz uma abordagem moderna para criar a IU do seu app. O kit de ferramentas também oferece todos os benefícios do Kotlin, como ajudar a escrever um código conciso e idiomático que seja totalmente interoperável com o Java.

Use a versão mais recente do Android Studio 4.2 para ter a melhor experiência de desenvolvimento com o Jetpack Compose. Isso porque ao usar o Android Studio para desenvolver seu app com o Jetpack Compose, você pode aproveitar os recursos do editor inteligente, como os modelos em New Project e a visualização imediata da IU do Compose.

Para saber mais e começar a usar, acesse a visão geral do Jetpack Compose.

Compatibilidade com as novas ferramentas do Jetpack Compose na versão 4.2

O Android Studio agora também é compatível com visualização e teste de apps que usam o Jetpack Compose.

Visualização do Compose

Os seguintes parâmetros para métodos @Preview agora estão disponíveis:

  • showBackground: ative e desative um plano de fundo para sua visualização.
  • backgroundColor: defina uma cor que será usada apenas na superfície de visualização.
  • uiMode: esse novo parâmetro pode assumir qualquer uma das constantes Configuration.UI_* e permite que você altere o comportamento da visualização para, por exemplo, definir como o Modo noturno para ver como o tema reage.

Visualização interativa

Nesse modo, você pode interagir com os componentes da IU, clicar neles e ver como o estado muda. Essa é uma forma rápida para ver como a IU reage e visualizar as animações. Para ativá-la, basta clicar no ícone interativo e a visualização alternará os modos.

Para interromper, clique em Stop Interactive Preview na barra de ferramentas superior.

Implantar no dispositivo

Use esse recurso para implantar um snippet da IU em um dispositivo. Isso ajudará a testar pequenas partes do seu código no dispositivo sem precisar iniciar o app completo.

Clique no ícone de implantação no dispositivo ao lado da anotação @Preview, ou na parte superior da visualização, e o Android Studio implantará @Preview no dispositivo ou emulador conectado.

API Preview Data Sources

A nova API Data Sources permite gerar visualizações a partir dos seus dados. Se você tiver uma lista de dados existente ou uma lista de temas, essa API permitirá injetá-los como um parâmetro no método @Preview.

class HelloWorldProvider :
   CollectionPreviewParameterProvider<String>(
       listOf("Hello World", "Привет мир", "Olá Mundo", "Hola Mundo"))

@Preview
@Composable
fun HelloWorldPreview(
   @PreviewParameter(HelloWorldProvider::class) text: String
) {
   MaterialTheme {
       Text(text = text)
   }
}

Para ativar os recursos acima, o build.gradle do módulo precisa conter as seguintes configurações:

  android {
  …
  buildFeatures {
    compose true
  }
  composeOptions {
     kotlinCompilerExtensionVersion = "0.1.0-dev13"
     kotlinCompilerVersion = "1.3.70-dev-withExperimentalGoogleExtensions-20200424"
   }
}

Problemas conhecidos da visualização do Compose

androidx.ui.foundation.Dialog não é compatível com a visualização do Compose no momento.

Teste de instrumentação aprimorado

A partir do Android Studio 4.2 Canary 1, agora é possível executar testes de instrumentação em vários dispositivos em paralelo e investigar usando um painel de resultados de testes de instrumentação especializado. Usando esse painel, você pode determinar se os testes estão falhando devido ao nível da API ou às propriedades de hardware.

Painel de teste de instrumentação

Testar seu app em uma ampla variedade de níveis de API e formatos é uma das melhores maneiras de garantir que todos os usuários tenham uma ótima experiência ao usá-lo.

Para aproveitar esse recurso:

  1. Selecione Modify Device Set no menu suspenso do dispositivo de destino (no centro superior do ambiente de desenvolvimento integrado).

    Lista suspensa

  2. Selecione os dispositivos de destino e clique em OK.

    Caixa de diálogo

  3. Selecione Multiple Devices no menu suspenso do dispositivo de destino e execute seus testes.

    Selecione vários dispositivos na lista suspensa de dispositivos de destino

Para ver os resultados do teste no painel Run, acesse View > Tool Windows > Run.

O novo painel de resultados do teste permite filtrar os resultados do teste por status, dispositivo e nível da API. Além disso, é possível classificar cada coluna clicando no cabeçalho. Ao clicar em um teste individual, você verá os registros e as informações dele individualmente.

Android Studio 4.1

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

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

A IU de rastreamento do sistema no criador de perfil do Android Studio inclui as seguintes melhorias:

  • Seleção de caixa: na seção Threads, você pode arrastar o mouse para executar uma seleção de caixa de uma área retangular, na qual é possível aplicar zoom clicando no botão Zoom to Selection no canto superior direito (ou use 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 exibe:

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

  • Exibir dados: na seção Display, os novos cronogramas para SurfaceFlinger e VSYNC ajudam a investigar problemas de renderização na IU do app.

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

Criadores de perfil independentes já disponíveis

Agora é possível acessar os criadores de perfil do Android Studio em uma janela separada da janela principal do Android Studio.

Para executar os criadores de perfil independentes, faça o seguinte:

  1. Certifique-se de que o Android Studio não esteja em execução no seu sistema.
  2. Acesse o diretório de instalação e navegue até o diretório bin:

    Windows/Linux: <studio-installation-folder>/bin

    macOS: <studio-installation-folder>/Contents/bin

  3. Dependendo do seu SO, execute profiler.exe ou profiler.sh. A tela de apresentação do Android Studio é exibida.

    Depois que a tela de apresentação desaparece, uma janela do criador de perfil é aberta:

  4. Inicie o Android Emulator ou conecte um dispositivo Android e aguarde o carregamento da tela inicial. Para executar o emulador a partir da linha de comando, consulte Iniciar o emulador a partir da linha de comando. Se você iniciar o emulador a partir do Android Studio, feche o Android Studio após o emulador ser iniciado.

    No menu do criador de perfil autônomo, clique no botão para que todos os seus dispositivos e emuladores conectados sejam exibidos:

    Por exemplo, abra o Google Maps no emulador. Crie uma nova sessão de criação de perfil selecionando um emulador na lista suspensa e selecione com.google.android.apps.maps (...). Isso inicia uma sessão de criação de perfil.

Quando você interage com o mapa, os eventos de toque e o uso da CPU aparecem no criador de perfil. Clique nos gráficos CPU, Memória, Rede ou Energia para mostrar mais detalhes.

Clique no botão para encerrar a sessão de criação de perfil.

Agora você pode usar os criadores de perfil para inspecionar as características de desempenho do seu app. Para mais informações, consulte Criar perfil do desempenho do seu app.

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. 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 modificam a cor do MDC atualizada e os atributos "on".
  • Recursos de cores: os recursos de cores em colors.xml usam nomes específicos (por exemplo, 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.<ApplicationName>.
  • 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.

Mudanças no diretório de configurações do ambiente de desenvolvimento integrado no Canary 9

Na versão Canary 9, os locais dos diretórios de configuração do usuário foram alterados para o seguinte:

Windows

Sintaxe: %APPDATA%\Google\<product><version>

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

macOS

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

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

Linux

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

Exemplo: ~/.config/Google/AndroidStudioPreview4.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.

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 a compatibilidade 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 ajudar você a navegar entre o 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 você 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 mostra o provedor dessa dependência.

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, para 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 executar o emulador no Android Studio, verifique se você está usando o Android Studio 4.1 com a versão 30.0.10 ou mais recente do Android Emulator e siga estas etapas:

  1. Clique em File > Settings > Tools > Emulator (ou Android Studio > Preferences > Tools > Emulator no macOS) e selecione Launch in a tool window e clique em OK.
  2. Se a janela do emulador não aparecer automaticamente, abra-a clicando em View > Tool Windows > Emulator.
  3. Inicie seu dispositivo virtual usando o AVD Manager ou segmentando-o ao executar seu app.

Limitações

No momento, não é possível usar os controles estendidos do emulador quando ele estiver sendo executado em uma janela de ferramentas. Caso seu fluxo de trabalho de desenvolvimento dependa muito dos controles estendidos, continue usando o Android Emulator como um aplicativo independente. Além disso, alguns dispositivos virtuais, como o Android TV e dispositivos dobráveis, não podem ser executados no Android Studio porque têm requisitos de IU especializados ou funções importantes nos controles estendidos.

Database Inspector

Com o Android Studio 4.1 Canary 6 e versões mais recentes, é possível inspecionar, consultar e modificar os bancos de dados do app usando o novo Database Inspector. Por exemplo, você pode depurar seu app em execução modificando valores no banco de dados e testando essas mudanças no dispositivo.

Modificar valores de tabela e ver as mudanças no app em execução

Para começar, implante o app em um dispositivo que executa a API de nível 26 ou mais recente e selecione View > Tool Windows > Database Inspector na barra de menus.

Se a janela Database Inspector não selecionar automaticamente o processo do app, selecione-o no menu suspenso.

Inspecionar e modificar tabelas

No painel Databases, é possível ver os bancos de dados do app e expandir um nó de banco de dados para ver as tabelas dele. Quando você clica duas vezes em uma tabela, o inspetor a abre em uma guia separada à direita, conforme mostrado na captura de tela abaixo, em que é possível inspecionar os dados, classificar por colunas ou até mesmo modificar valores à medida que o app é executado no dispositivo.

Para modificar o valor de uma célula da tabela, basta clicar duas vezes na célula, mudar o valor e pressionar "Enter". Se você estiver usando a biblioteca de persistência Room e observando seus bancos de dados (por exemplo, com LiveData), essas mudanças ficarão visíveis no app em execução quase imediatamente. Caso contrário, talvez seja necessário atualizar a consulta do app do banco de dados para ver as mudanças.

Inspecionar, consultar e modificar os bancos de dados do app

Se o app fizer atualizações no banco de dados e você quiser vê-las automaticamente na janela do inspetor, marque a caixa ao lado de Live updates. Lembre-se de que, enquanto essa opção estiver ativada, a tabela no inspetor será somente leitura e não será possível modificar os valores.

Como alternativa, você pode atualizar manualmente os dados no inspetor clicando em Refresh Table. Da mesma forma, se houver modificações nos esquemas de banco de dados, clique em Refresh Schema no painel Databases.

Consultar o banco de dados

Para consultar um banco de dados, clique na guia Open New Query no painel Databases. Isso abre uma guia New Query à direita. Se o app incluir mais de um banco de dados, selecione o banco de dados que você quer consultar usando o menu suspenso na janela da guia. No campo de texto, você pode especificar sua consulta SQLite e clicar em Run. O inspetor consulta o banco de dados do app e retorna o resultado, conforme mostrado abaixo.

Consultar o banco de dados

Se você usa a biblioteca de persistência Room, o Android Studio também fornece ações de gutter para ajudar você a executar rapidamente as consultas definidas nas anotações @Query. Enquanto o app é implantado em um dispositivo compatível e o Database Inspector está aberto no ambiente de desenvolvimento integrado, clique no botão ao lado de uma anotação @Query, conforme mostrado abaixo.

Ação de gutter em anotação de consulta em Room

O Database Inspector abre uma nova guia, executa a consulta e retorna os resultados. Se a consulta incluir parâmetros de vinculação nomeados, como :name, o Android Studio solicitará valores para cada parâmetro antes de executar a consulta.

Impedir o fechamento de bancos de dados novos e existentes

Se o app se conecta e se desconecta dos bancos de dados com frequência, pode ser difícil inspecioná-los. Isso ocorre porque a inspeção, a consulta e a modificação de um banco de dados exigem que seu app mantenha uma conexão ativa com ele. A janela Database Inspector usa ícones para ajudar você a identificar bancos de dados abertos () e fechados ().

Para facilitar a inspeção desses bancos de dados, você pode impedir que conexões novas e existentes sejam fechadas clicando em Keep database connections open . Quando esse comportamento está ativado, o botão Keep database connections open muda para .

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 instantâneo da sequência de funções aninhadas chamadas no programa até o momento em que falhou. Esses instantâneos podem ajudar você a 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.

Caso seu app ou jogo seja desenvolvido usando código nativo, como C++, você poderá fazer upload de arquivos de símbolos de depuração para o Play Console para cada versão do app. O Play Console usa esses arquivos de símbolos de depuração para simbolizar os rastreamentos de pilha do app, facilitando a análise de falhas e ANRs.

Como fazer upload de arquivos de símbolos de depuração

Antes de fazer o upload de arquivos de símbolos de depuração, é necessário usar o Plug-in do Android para Gradle versão 4.1 ou posterior.

A maneira como faz upload dos arquivos de símbolos de depuração depende de você criar seu app usando um Android App Bundle ou um APK:

  • Apps criados com o Android App Bundle: se o projeto criar um Android App Bundle, você poderá incluir automaticamente o arquivo de símbolos de depuração nele para não precisar fazer upload do arquivo manualmente. Para incluir esse arquivo, adicione o seguinte ao arquivo build.gradle do seu app:

    android.defaultConfig.ndk.debugSymbolLevel = 'FULL'
    
  • Apps criados com um APK: se o projeto criar um APK, o arquivo de símbolos de depuração será criado separadamente. Adicione o seguinte ao arquivo build.gradle do seu app:

    android.defaultConfig.ndk.debugSymbolLevel = 'FULL'
    

    Como parte do processo de compilação, o Plug-in do Android para Gradle gera o arquivo de símbolos de depuração para o seguinte local do projeto:

    app/build/outputs/native-debug-symbols/variant-name/native-debug-symbols.zip
    

    Faça upload desse arquivo de símbolos de depuração para o Play Console.

Native Memory Profiler

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 um tamanho de amostra de 32 bytes, o Native Memory Profiler rastreia as alocações/desalocações de objetos no código nativo em um período específico e fornece as seguintes informações:

  • Allocations: uma contagem de objetos alocados por malloc() ou pelo operador new durante o período selecionado.
  • Deallocations: uma contagem de objetos desalocados por free() ou pelo operador delete durante o período selecionado.
  • Deallocations: o tamanho agregado em bytes de todas as alocações durante o período selecionado.
  • Deallocations Size: o tamanho agregado em bytes de toda a memória liberada durante o período selecionado.
  • Total Count: o valor da coluna Allocations menos o valor da coluna Deallocations.
  • Remaining Size: o valor da coluna Allocations Size menos o valor na coluna Deallocations Size.

Native Memory Profiler

Para iniciar uma gravação, clique em Record native allocations na parte superior da janela do Memory Profiler:

Botão

Quando estiver pronto para concluir a gravação, clique em Stop recording.

Definir o caminho do NDK

Você pode definir o caminho para a instalação do NDK local usando a propriedade android.ndkPath no arquivo build.gradle do módulo.

android {
   ndkPath "your-custom-ndk-path"
}

Se você usar essa propriedade com a propriedade android.ndkVersion, esse caminho precisará conter um diretório do NDK com a mesma versão de android.ndkVersion.

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

Modelos compatíveis

A implementação atual do ML Model Binding é compatível com modelos de classificação de imagem e transferência de estilo, desde que sejam aprimorados com metadados. Com o tempo, a compatibilidade será expandida 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 será importado para o projeto e o colocado na pasta ml/. Se o diretório não existir, o Android Studio o criará para você.

Importar um modelo do TensorFlow Lite

Ver metadados e uso do modelo

Para ver 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

Veja um exemplo usando mobilenet_v1_025_160_quantized.tflite:

Captura de tela do visualizador de modelos do TensorFlow Lite

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 fornecerá apenas informações mínimas.

Problemas conhecidos e soluções alternativas

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

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

Declarações em builds de depuração

As declarações no código Java agora são ativadas ao implantar a versão de depuração do app. Como o ambiente de execução do Android não é compatível com a ativação de declarações no tempo de execução (ou seja, transmitindo o equivalente da sinalização -ea/-enableassertions para uma VM Java), as declarações no seu app não tinham efeito.

Agora, quando você cria e implanta a versão de depuração do app usando o Plug-in do Android para Gradle 4.1.0-alpha01 e versões mais recentes, o compilador integrado (D8) reescreve o código para ativar as declarações no tempo de compilação, para que as verificações de declaração estejam sempre ativas.

Apply Changes

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

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 alterações 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 ou Apply Changes and Restart Activity 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 alterações de código

Para dispositivos que executam a Visualização do desenvolvedor 3 ou mais recente do Android 11, agora você pode adicionar métodos e campos primitivos finais estáticos e implantar essas mudanças no seu app em execução clicando em Apply Code Changes ou Apply Changes and Restart Activity .

Agora você também pode adicionar recursos e implantar essas mudanças no seu app em execução nos dispositivos Android 11 clicando em Apply Changes and Restart Activity .

Exportar dependências C/C++ de AARs

O Plug-in do Android para Gradle 4.0 adicionou a capacidade de importar pacotes [Prefab] em dependências de AAR, conforme descrito abaixo. A partir do Canary 10, a versão 4.1 permite a exportação de bibliotecas do seu build nativo externo em um AAR para um projeto Biblioteca do Android.

Para exportar suas bibliotecas nativas, adicione o seguinte ao bloco android do arquivo build.gradle do projeto da biblioteca:

buildFeatures {
    prefabPublishing true
}

prefab {
    mylibrary {
      headers "src/main/cpp/mylibrary/include"
    }

    myotherlibrary {
        headers "src/main/cpp/myotherlibrary/include"
    }
}

Neste exemplo, as bibliotecas mylibrary e myotherlibrary do ndk-build ou do build nativo externo do CMake serão empacotadas no AAR produzido pelo build, e cada uma exportará os cabeçalhos do diretório especificado para os dependentes.

Dependências pré-compiladas usadas pelo CMake

Para usuários do Plug-in do Android para Gradle 4.0 e versões mais recentes, as configurações de importação de bibliotecas nativas pré-compiladas mudaram. Para mais informações, consulte as notas da versão do AGP.

Problemas conhecidos da versão 4.1 de pré-lançamento

Esta seção descreve os problemas conhecidos na versão do Android Studio 4.1 de pré-lançamento.

Os patches não funcionam no 4.1 Canary 10

Os patches para o Android Studio 4.1 Canary 10 estão corrompidos no momento. Para atualizar para uma versão mais recente do Android Studio 4.1, encerre o Android Studio, faça o download do pacote mais recente e instale-o.

Esse problema foi corrigido no Android Studio 4.1 Beta 1.

Solução alternativa para o plug-in de Kotlin ausente no Canary 9

No Android Studio 4.1 Canary 9, talvez você veja o seguinte erro ao iniciar o Android Studio após o upgrade:

missing essential plugin org.jetbrains.android

Isso pode acontecer quando você importa as configurações de uma versão anterior do Android Studio. Normalmente, isso significa que você tem um plug-in Kotlin instalado localmente que não é compatível com o novo ambiente de desenvolvimento integrado.

Para corrigir esse problema, remova o diretório Kotlin dos seguintes locais:

Linux: ~/.local/share/Google/AndroidStudioPreview4.1

Windows: C:\Users\YourUserName\AppData\Roaming\Google\AndroidStudioPreview4.1

MacOS: ~/Library/Application Support/Google/AndroidStudioPreview4.1

Como não há um plug-in Kotlin compatível com o Canary 9 atualmente disponível no JetBrains, incluímos nosso próprio plug-in Kotlin na atualização do Canary 9. Portanto, não é necessário instalar manualmente um plug-in Kotlin.

Erros de tempo limite no CPU Profiler

Você pode enfrentar erros "Recording failed to stop" no CPU Profiler do Android Studio ao selecionar as configurações Sample Java Methods ou Trace Java Methods. Eles costumam ser erros de tempo limite, especialmente quando é exibida a seguinte mensagem de erro no arquivo idea.log:

Wait for ART trace file timed out

Os erros de tempo limite tendem a afetar os métodos rastreados mais do que os métodos de amostra e os registros longos mais do que os registros curtos. Como solução temporária, pode ser útil tentar gravações mais curtas para ver se o erro desaparece.

Se você tiver problemas de tempo limite com o Profiler, registre um bug que inclua a marca/modelo de seus dispositivos e entradas relevantes de idea.log e logcat.

Erros de controle de versão do Git no ambiente de desenvolvimento integrado

As operações que exigem autenticação no controle de versões do Git são interrompidas no ambiente de desenvolvimento integrado do Android Studio 4.1 Canary 1.

Para corrigir esse problema, faça upgrade para o Android Studio 4.1 Canary 2.