Problema com o refator do Android studio 3.5


159

Acabei de atualizar meu estúdio com o android studio 3.5 e agora, quando estou tentando refatorar o AndroidManifest.xmlarquivo, ele está refatorando minha permissão de todos os aplicativos na parte inferior do arquivo.

Alguém já enfrentou esse problema? Existe alguma solução para esse problema de refatoração?

Antes de refatorar:

insira a descrição da imagem aqui

Após refatoração:

insira a descrição da imagem aqui

É aplicável a todos os meus arquivos de projeto.

Por que isso importa:

insira a descrição da imagem aqui


4
por que isso é um problema que requer uma solução?
Tim

13
@ TimCastelijns: Se nada mais, ele introduz ruídos inesperados no controle de versão. Não consigo descartar problemas reais em dispositivos Android antigos, como <uses-permission>costumava aparecer antes <application>, embora seja possível que tenha sido realmente um problema antigo de ferramentas que não veríamos hoje em dia.
CommonsWare 21/08/19


7
@TimCastelijns em um layout xml, que altera a ordem de vocês componentes (ex: meu ImageView veio antes da minha TextView, e não é isso que eu quero)
rcperso

3
Eles acabaram com todos os seus esforços em direção à estabilidade com 3.5 com isso. Provavelmente o pior bug do AS desde que ele pode interromper seu aplicativo silenciosamente em tempo de execução: /
Carson Holzheimer

Respostas:


240

Você só precisa definir o layout xml para aplicativos Android nas configurações.

Siga estes passos:

1. Vá para Android Studio > Preferências . No Windows, vá para Arquivo > Configurações .

insira a descrição da imagem aqui

2. Procure por xml na barra de pesquisa.

insira a descrição da imagem aqui

3. Na seção estilo do código , selecione a guia xml .

insira a descrição da imagem aqui

4. No canto superior direito, clique em definir de ... e, no estilo predefinido , selecione Android

insira a descrição da imagem aqui

5. Clique em Aplicar e tente refatorar.


5
Depois disso, você pode precisar reiniciar o Android Studio.
tasomaniac 24/08/19

Isso me levou até o fim, mas acho que o problema é a falta de tags de propriedades "attribute" na guia de arranjos. Veja a captura de tela na minha própria resposta para obter detalhes.
Slartibartfast

Pelo que posso dizer, o motivo pelo qual essa sugestão funciona é porque ela insere essas tags de tipo "atributo", mas o faz com o custo de redefinir outras personalizações que você definiu, para que você as implemente novamente depois, mas funciona :).
Slartibartfast

1
Receio que esta solução não esteja funcionando no meu caso.
P Vartak 7/09/19

16

Redefina o estilo de código Android apropriado da seguinte maneira.

Somente para Windows

Passo 1: Clique no menu do arquivo .

Etapa 2: Navegue para Configuração .

Etapa 3: Encontre o Editor no painel esquerdo **.

Etapa 4: encontre o estilo do código no submenu do editor.

Etapa 5: clique em XML no submenu do estilo do código.

Etapa 6: clique em Definir no canto superior direito do painel Direito.

Passo 7: Selecione Estilo Predefinido .

Etapa 8: selecione Android .

Etapa 9: Clique em OK .

Somente para macOS

Etapa 1: clique no menu do Android Studio .

Etapa 2: Navegue para Preferências .

Etapa 3: Encontre o Editor no painel esquerdo **.

Etapa 4: encontre o estilo do código no submenu do editor.

Etapa 5: clique em XML no submenu do estilo do código.

Etapa 6: clique em Definir no canto superior direito do painel Direito.

Passo 7: Selecione Estilo Predefinido .

Etapa 8: selecione Android .

Etapa 9: Clique em OK .


8

Parece que o esquema padrão deixa de fora a propriedade "attribute" nas regras de arranjo. Adicioná-los de volta funciona como um encanto para mim.

A correção pode ser feita em: Preferências> Editor> Estilo do Código> XML insira a descrição da imagem aqui


5

Apenas adicionando mais detalhes.

Este é um problema conhecido no Android Studio a partir do Android Studio 3.5 Canary 8. Ele deve ser corrigido na próxima versão, pois isso afetou um grande número de desenvolvedores.

Você pode ver o status do bug aqui

Também a solução é

Estilo de código XML quebrado

Ao editar o código XML, o IDE pode aplicar um estilo de código incorreto quando você seleciona Código> Reformatar código na barra de menus. Para corrigir esse problema, redefina o estilo de código Android apropriado da seguinte maneira:

  1. Abra a janela Configurações clicando em Arquivo> Configurações (no macOS, Android Studio> Preferências).
  2. No painel esquerdo, clique em Editor> Estilo do código> XML.
  3. Perto do canto superior direito do painel direito, selecione Definir em> Estilo predefinido> Android
  4. Clique OK.

Que é encontrado aqui -> Problemas conhecidos do Android Studio e do Android Gradle Plugin

Editar: agora está corrigido no Android studio versão 3.5.2


3
  • ctrl + alt + s
  • Pesquisar XML

Eu queria seguir as mesmas etapas da primeira resposta, mas só precisava alterar o esquema padrão para o projeto.

Espero que você também resolva dessa maneira. Desculpe pelo meu Inglês !

insira a descrição da imagem aqui

insira a descrição da imagem aqui



1

Siga estas etapas para a versão do Windows "Android Studio 3.5"

1: Clique no arquivo no menu.

2: Vá para Configurações.

insira a descrição da imagem aqui.

3: Clique no Editor.

4: Clique no estilo do código

5: Clique em XML.

insira a descrição da imagem aqui

6: Clique em "Definir de ..." no canto superior direito.

7: Selecione Estilo predefinido.

8: Selecione Android.

insira a descrição da imagem aqui

9: Clique em OK.


1

3.5.0 problema conhecido

Ao editar o código XML, o IDE pode aplicar um estilo de código incorreto quando você seleciona Código> Reformatar código na barra de menus. Para corrigir esse problema, redefina o estilo de código Android apropriado da seguinte maneira:

  • Abra a janela Configurações clicando em Arquivo> Configurações (no macOS, Android Studio> Preferências ).
  • No painel esquerdo, clique em Editor> Estilo do código> XML .
  • Perto do canto superior direito do painel direito, selecione Definir em> Estilo predefinido> Android .
  • Clique em OK .
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.