Notas de versão do Android Studio 3.4 (abril de 2019)

O Android Studio 3.4 é uma versão importante com vários novos recursos e melhorias.



IntelliJ IDEA 2018.3.4


  • Núcleo do Android Studio atualizado com aprimoramentos do IntelliJ IDEA a partir da versão 2018.3.4

Android Gradle plugin 3.4.0



Caixa de diálogo Nova estrutura de projeto


  • a nova caixa de diálogo Estrutura do projeto (PSD) facilita a atualização de dependências e a configuração de vários aspectos do seu projeto, como módulos, opções de compilação, configurações de assinatura e variáveis ​​de compilação
  • Você pode abrir o PSD selecionando "Arquivo> Estrutura do projeto" no menu. Você também pode abrir o PSD via Ctrl + Shift + Alt + S no Windows e Linux ou Command +; (ponto e vírgula) no macOS. A seguir, é apresentada uma descrição das inovações e atualizações do PSD.

Variáveis


  • a seção permite criar e gerenciar variáveis ​​de construção, por exemplo, especificar qual versão das dependências correspondentes deve ser para todo o projeto

    imagem


    • visão geral rápida e edição de variáveis ​​de construção já existentes nos scripts de construção de classificação do seu projeto
    • adicionando novas variáveis ​​de construção ao nível do projeto ou módulo diretamente do diálogo Estrutura do Projeto
    • NOTA: se os arquivos de configuração de compilação existentes especificarem valores através de scripts complexos do Groovy, talvez você não consiga editar esses valores na caixa de diálogo Estrutura do projeto. Além disso, você não pode editar arquivos de compilação escritos no Kotlin usando a caixa de diálogo Estrutura do projeto.


Módulos


  • configure as propriedades que se aplicam a todas as opções de construção existentes nos módulos ou adicione novos módulos ao seu projeto usando a seção Módulos. Por exemplo, aqui você pode configurar a propriedade defaultConfig ou gerenciar as configurações de assinatura

Dependências


  • inspecione e visualize cada gráfico de dependência do gráfico de dependência do seu projeto criado pela Gradle durante a sincronização do projeto, seguindo estas etapas:


    1. no painel esquerdo do PSD, selecione "Dependências"
    2. no painel "Módulos", selecione o módulo para o qual você gostaria de ver as dependências
    3. no lado direito do PSD, abra o painel "Dependências resolvidas", como mostrado abaixo

      imagem

  • você também pode encontrar e adicionar dependências rapidamente ao seu projeto, selecionando o módulo e clicando no botão "+" na seção "Dependências declaradas" e, em seguida, selecionando o tipo de dependência que deseja adicionar


  • dependendo do tipo de dependência que você escolher, você deverá ver uma caixa de diálogo semelhante à mostrada abaixo que ajuda a adicionar a dependência ao módulo

    imagem



Opções de montagem


  • nesta seção do PSD, opções de criação e variações ('sabores do produto') são criadas e configuradas para cada módulo em seu projeto. Você pode adicionar modelos de manifesto ('espaços reservados'), arquivos ProGuard e atribuir chaves de assinatura, etc.

    imagem

Dicas


  • Você pode ver as atualizações de dependências propostas para o seu projeto e criar opções na seção "Sugestões", conforme mostrado abaixo

    imagem

Novo 'gerenciador de recursos'


  • 'Resource Manager' é uma nova ferramenta para importar, criar, gerenciar e usar os recursos do seu aplicativo. Você pode abrir esta ferramenta através do menu "Exibir> Janelas de Ferramentas> Gerenciador de Recursos". O Gerenciador de recursos permite que você faça o seguinte:

    imagem


    • Visualize recursos: você pode visualizar desenhos, cores e layouts para encontrar rapidamente o recurso certo
    • Importação em massa: você pode importar vários ativos desenháveis ​​por vez, simplesmente arrastando-os para o 'gerenciador de recursos' ou através do assistente Importar desenháveis. Para acessar o assistente, clique no botão "+" no canto superior esquerdo da janela e selecione "Importar Drawables" na lista suspensa.
    • Converter arquivos SVG em VectorDrawables: você pode usar o assistente Import Drawables para converter suas imagens SVG em VerctorDrawables
    • Recursos de arrastar e soltar: na janela 'gerenciador de recursos', você pode arrastar e soltar drawables nos widgets de design e XML do editor de layout ('Layout Editor')
    • Versões alternativas de widgets: agora você pode ter versões alternativas de seus recursos clicando duas vezes no recurso na janela "Ferramenta". Você verá as diferentes versões criadas e quais qualificadores elas contêm.
    • Exibição em bloco ou lista: você pode alterar a exibição na janela de visualização de seus recursos usando o layout diferente

  • consulte o manual Gerenciar recursos do aplicativo para obter mais informações.



Verificando IDs de compilação ao criar um perfil e depurar APKs


  • quando você fornece os "arquivos de símbolo de depuração" das bibliotecas .so compartilhadas no seu APK, o Android Studio verifica se o ID da compilação dos "arquivos de símbolo de depuração" corresponde ao ID da compilação das bibliotecas .so no APK
  • se você coletar bibliotecas nativas no APK com o ID da versão, o Android Studio verificará se o ID da versão dos seus "arquivos de símbolo" e o ID da versão das bibliotecas nativas correspondem e redefine os "arquivos de símbolo" se não houver correspondência. Se você não criar com o ID de construção, o fornecimento de "arquivos de símbolos" incorretos pode causar problemas ao depurar

R8 está ativado por padrão


  • O R8 combina desugar, compressão, ofuscação, otimização e desxagem em uma única etapa, o que proporciona uma notável melhoria de desempenho. O R8 foi introduzido no plug-in Android Gradle 3.3.0 e agora está ativado por padrão para aplicativos e projetos de bibliotecas Android usando o plug-in versão 3.4.0 ou superior


  • A imagem abaixo descreve o processo de compilação antes do R8

    imagem


  • agora, com R8, desapropriação, compressão, ofuscação, otimização e dexing (D8) são executados em uma etapa, como mostrado abaixo

    imagem


  • O R8 foi projetado para funcionar com as regras ProGuard existentes, portanto, você não precisa tomar nenhuma ação para tirar proveito do R8. Enquanto isso, como essa tecnologia é diferente do ProGuard, projetado especificamente para projetos Android, a compactação e a otimização podem consistir na remoção do código que o ProGuard não exclui. Portanto, nessa situação improvável, pode ser necessário adicionar regras adicionais para salvar esse código na montagem final


  • Se você tiver problemas ao usar o R8, leia as Perguntas frequentes sobre compatibilidade com o R8 para verificar se há uma solução pronta. Se a solução ainda não foi documentada, informe um bug . Você pode desativar o R8 adicionando uma das seguintes instruções ao arquivo gradle.properties do seu projeto:

     <i> # desativar o R8 apenas para os módulos da Biblioteca Android </i>
     android.enableR8.libraries = false </p>
     <p> <i> # desative o R8 para todos os módulos </i>
     android.enableR8 = false
    

  • NOTA: para o tipo especificado de montagem, se você definir false para useProguard no arquivo build.gradle do seu módulo de aplicativo, o plug-in Android Gradle usará R8 para compactar o código do aplicativo para esse tipo de montagem, independentemente de R8 estar desativado no arquivo gradle.properties do seu projeto




  • Todos os tipos suportados pelo componente Navegação agora são suportados no Editor de Navegação. Para obter mais informações sobre tipos suportados, consulte Passar dados entre destinos.

Melhorias no Editor de Layout


  • o painel "Atributos" no Editor de layout foi simplificado para uma página com seções que você pode expandir para configurar os atributos desejados. O painel Atributos também possui as seguintes atualizações:


    • a nova seção Atributos declarados lista os atributos especificados no arquivo de layout e permite adicionar rapidamente novos
    • o painel "Atributos" agora também está equipado com um indicador ao lado de cada atributo que é preenchido quando o valor do atributo é um recurso
    • agora os atributos com erros e avisos são realçados. Um destaque vermelho indica erros (por exemplo, quando você usa valores de posicionamento incorretos) e um laranja indica avisos (por exemplo, quando você usa valores codificados)


Novas dicas de ação para importar rapidamente dependências


  • se você começar a usar classes específicas do Jetpack e Firebase no seu código, novas dicas de ação sugerem adicionar as dependências necessárias da biblioteca Gradle ao seu projeto, se ainda não tiverem sido adicionadas. Por exemplo, se você estiver se referindo à classe WorkManager pela primeira vez, precisará da dependência android.arch.work:work-runtime e a dica de ação permitirá que você a adicione em um clique, como mostrado abaixo

    imagem
  • em particular, uma vez que O Jetpack é apresentado em pacotes separados (o que facilita o gerenciamento e a atualização), o atalho de ação ajuda a adicionar rapidamente apenas as dependências necessárias para os componentes do Jetpack que você usa

3.4.0 problemas conhecidos


  • a criação de perfil é desativada quando você implanta seu aplicativo em dispositivos executando o Android Q Beta
  • quando uma biblioteca de ligação de dados é usada, LiveDataListener.onChanged () pode cair com um NullPointerException. Uma correção para esse problema será incluída no Android Studio 3.4.1 e já está disponível na versão mais recente do Android Studio 3.5 ( versão 122066788 )

Source: https://habr.com/ru/post/pt448860/


All Articles