Erro: com.android.tools.aapt2.Aapt2Exception: erro AAPT2: verifique os logs para obter detalhes
Esta é a saída do meu console Gradle, não consigo construir meu projeto
— Zeeshan Ali
Veja esta pergunta
— Enzokie
Você pode tentar executar a tarefa assembleDebug para identificar o problema. Para obter mais informações, leia aqui stackoverflow.com/a/47941174/1573414
— AnteGemini
Atualização 2 (siga esta abordagem)
Você não deveria fazer isso agora. Em vez disso, corrija todos os erros. Esta é apenas uma solução alternativa até que seja removida. Depois disso, você precisará corrigir os erros manualmente de qualquer maneira.
Tente atualizar o plugin do gradle 3.3.0-alpha06para verificar se isso corrige o seu problema.
Problemas com caracteres não-ascii foram corrigidos no AAPT2 e no plug-in Android Gradle (yay!). Em vez de desativar o AAPT2 agora, você pode apenas usar o plugin Android Gradle versão 3.2.0-alpha11 ou mais recente e não deverá mais encontrar esse erro.
O Aapt2 é ativado por padrão quando você usa o plugin android para o gradle 3.0.
melhorar o processamento incremental de recursos
como indicado aqui .
Mas se você estiver enfrentando problemas com ele, poderá voltar à versão anterior adicionando isso em gradle.properties
— Yashasvi
mas depois disso, há um problema com a execução do androidTest. Ele fornece o erro Classe não encontrada: "com.app.someapp.TheTestClass" Conjunto de testes vazio. Veja aqui stackoverflow.com/questions/47969959/…
— K.Os
após esta ação, obtive essa mensagemProcess 'command 'D:\Android\sdk\Sdk\build-tools\27.0.3\aapt.exe'' finished with non-zero exit value 1
— Izabela Orlowska
Funciona, mas recebi a mensagem:The option 'android.enableAapt2' is deprecated and should not be used anymore. Use 'android.enableAapt2=true' to remove this warning. It will be removed at the end of 2018..
— Mikemike
NÃO USE ISTO! Qualquer desativação de novos recursos ainda interromperá o projeto no futuro. Como Pranav Karnik disse, está obsoleto e está agendado para remoção: essa é apenas uma solução alternativa até que seja removida. Depois disso, você precisará corrigir os erros manualmente de qualquer maneira.
Está disponível uma nova versão do Gradle e do Android-gradle-plugin que corrige esses problemas.
build.gradle (nível superior)
Se você desativar o AAPT2, estará apenas ocultando o problema real.
Esteja ciente de que AAPT1poderá ser removido no futuro, portanto, você é forçado a usar AAPT2. Na verdade, o guia de migração não é difícil de seguir, pois você não vê muitas mudanças ao mesmo tempo, assim, é uma prova do futuro.
Hierarquias de elementos no manifesto do Android
Nas versões anteriores do AAPT, os elementos aninhados em nós incorretos no manifesto do Android são ignorados ou resultam em um aviso. Por exemplo, considere o seguinte exemplo:
Portanto, você deve verificar primeiro se realmente segue a estrutura de manifesto correta, como mostrado abaixo.
Estrutura de arquivo de manifesto
O trecho de código abaixo mostra a estrutura geral do arquivo de manifesto e todos os elementos que ele pode conter. Cada elemento, juntamente com todos os seus atributos, é totalmente documentado em um arquivo separado.
@Downvoters pls. explique exatamente o que há de errado com esta resposta para que eu possa resolver?
Oi Enzokie, recebi a mesma exceção aapt2. O que eu faço é atualizar o compileSdkVersion de 21 para 26 e depois travar o aapt2. Você sabe onde eu encontrei o log de erros?
@ Ninja, você pode verificar o log no console Gradle, é igual ao Logcat.
Você não forneceu uma solução, apenas uma teoria por trás de sua causa que pode ou não ser relevante.
— Chris - Jr
@AhamadullahSaikat você está tendo um stacktrace semelhante ao OP?
— Enzokie 23/01/19
Ocorreu um erro no meu layout XML. Portanto, verifique se há erros no layout xml.
— Benjamin Ronneling
erro não deve ser um pouco mais específico neste caso?
Infelizmente, não há @Ewoks. Este erro exato será gerado se houver caracteres especiais em suas seqüências de layout XML.
— SH7890
Verifique a guia do console Gradle no android studio (por padrão, no canto inferior direito). No meu caso, houve erros como este:
Resolvi o problema de configuração da casa do usuário gradle para outro local sem caracteres brancos ou especiais:
Você pode configurá-lo definindo " Caminho do diretório de serviço " na caixa de diálogo Configurações do Gradle. No meu caso, foi necessário excluir o diretório .gradle antigo no local anterior e reiniciar o android studio.
para mim o problema foi que o nome do arquivo ficou muito longo ao executar a compilação como um serviço C: \ Windows \ System32 \ config \ systemprofile \ .gradle \ .......... set GRADLE_USER_HOME = d: \. gradle fixed a questão (no meu caso como uma variável do sistema Ambiente)
Obrigado, isso me ajudou a resolver meu problema, pois eu tinha um "é" em latim no caminho do diretório de serviço.
— Jean-Sébastien Gervais
Após o Android Studio 3.1, a guia do console Gradle foi removida. Agora está na guia Compilar. Clique no botão 'Ver Alternar' (na aba de construção à esquerda, abaixo do botão martelo) para a vista a mudança para a saída Gradle cru para ver o erro real que está causando o erro AAPT2
Meu problema ocorreu devido a um nome de arquivo de imagem terminado em .9.png . Mudei o final para .png e o problema desapareceu. Eu tenho a dica do rastreamento de pilha na consola Gradle: A mensagem de topo era "Falha na execução de tarefas: Aplicação: mergeDebugResources " ea mensagem de fundo era "com.android.builder png .AaptProcess $ NotifierProcessOutput.out"
Aguardo com expectativa o dia em que Gradle enviará mensagens de erro mais úteis ...
— Samil
Eu só tive esse problema ao tentar usar a ligação de dados e declarar a tag de layout. Eu sei que é um pouco tarde, mas para o bem de qualquer pessoa que encontre esse problema, o que eu fiz para resolver o problema após tantas tentativas foi o de seu layout raiz quando você não está usando a ligação de dados, por exemplo, isto
e basta colocá-lo na sua tag de layout ( ou seja, se você estiver usando ligação de dados )
e espero que funcione. o android.enableAapt2=falsenão funcionou para mim, então eu tenho que remover tudo e tentar descobrir por que recebo o erro quando coloco a tag de layout e utilizo a ligação de dados, assim, encontrei a solução. Espero que ajude
— CodeAndWave
Valeu cara! você economizou uma hora para mim.
— Siamak SiaSoft
Valeu cara! Você economizou duas horas para mim!
— l33t
Tenho o mesmo problema aqui. Conforme apontado por @Izabela Orlowska, esse problema provavelmente é causado por caracteres especiais no caminho (arquivos grandle do Android, recursos etc.).
Para mim: ter říno nome da pasta causou todos os problemas. Verifique se você não possui caracteres especiais nos caminhos. Desativar o AAPT2 é apenas uma "solução" temporária. O caminho do seu projeto contém caracteres não-ASCII android studio
Corrigi o erro com três etapas
1. Verifiquei o problema SOURCE
2. Forneci a string / texto correto, era a CAUSA
3. Limpei o projeto, você o encontrará em BUILD.
— Bukunmi
Obrigado me ajudou a identificar meus problemas!
— Apple Appala
Como em algum momento no futuro o suporte ao AAPT (1) será descontinuado, seria bom identificar o motivo do erro que você relatou.
Você poderia fornecer o conteúdo do arquivo \ app \ src \ main \ res \ layout \ topic_view_header.xml? A partir dos pontos de interrogação, é possível que você esteja usando caracteres não ASCII, com os quais o AAPT2 ainda tem problemas. Se realmente for caracteres não ASCII, siga o bug em https://issuetracker.google.com/68262818 .
Atualização : o problema foi corrigido no plugin Android Gradle versão 3.2.0-alpha11 ou mais recente.
Por favor, veja aqui stackoverflow.com/questions/47971366/…
@ Konrad 404, @ izabela ainda mesmo problema em Gradle 4.1
@AjayPandya que é a versão gradle, você precisa atualizar a versão do plugin android gradle. No arquivo build.gradle do seu projeto, você precisa atualizar para ter classpath 'com.android.tools.build:gradle:3.2.0-alpha11'.
Não adicione esta linha ao seu projeto como outras respostas. Porque ele já foi resolvido nas versões mais recentes do Gradle .
Você pode atualizar a versão do build gradle no nível do projetobuild.gradle para a mais recente.
e gradle-wrapper.properties
Isso é tudo! Sincronize e corra, Bingo!
Mais informações Android Documentation
Se você adicionar, você receberá um aviso android.enableAapt2=false
AVISO: A opção 'android.enableAapt2' foi descontinuada e não deve mais ser usada. Use 'android.enableAapt2 = true' para remover este aviso. Ele será removido no final de 2018.
Esta é a melhor resposta que você já viu até agora, porque se você tentar desativar o aapt2, ele gera um erro no momento em que escrevo, tudo o que eu precisava fazer era atualizar o gradle e, após as atualizações, o gradle me disse qual era o erro real. Na verdade, ele não me deixou usar o gradle-4.8 no arquivo gradle-wrapper.properties, eu tive que usar a versão 4.9 mais recente, também no caminho das dependências, eu tive que usar o gradle: 3.3.0-alpha06
Vou atualizar a postagem original, para que seja mais fácil seguir.
Em qual arquivo gradle eu tenho que escrever android.enableAapt2 = false ?
@nTri Procure apenas a parte da solução Solução, você não precisa adicionar android.enableAapt2=false.
— Khemraj #
Fico feliz em ajudá-lo @nTri :)
Eu também encontrei esse erro. Para mim, foi quando alterei o SDK de destino de 26 para 25. Consegui corrigir o problema alterando a versão de dependência do appcompat de
Isso permitirá que o compilador acesse os atributos de estilo que atualmente não é possível encontrar. Na verdade, isso resolverá o problema, em vez de mascarar o problema real, como sugerido por Enzokie.
— hlbaker
No meu caso, eu estava usando um código de cores errado, #CC00000inválido porque possui 7 dígitos, mas o código de cores deve ter 3, 6 ou 8 dígitos, mais o prefixo #
— Suraj Vaishnav
Desativando o AAPT2 pode causar um problema em desenvolvimento adicional. No meu caso, o erro foi gerado quando eu criei o ícone do aplicativo.
Eu resolvo removendo esta linha
— TABZ
Como @Izabela Orlowska apontou: No meu caso, o problema ocorreu devido a alguns arquivos que não foram encontrados na pasta de cache gradle. (SO Windows)
O caminho padrão da gradle estava dentro da minha pasta de usuário. o caminho continha tremas e um espaço. Movi a pasta gradle definindo a variável de ambiente GRADLE_HOMEe GRADLE_USER_HOMEpara uma pasta recém-criada sem tremas ou espaços no caminho. Isso corrigiu o problema para mim.
— Robin J
Eu tentei de tudo o que é sugerido aqui e em muitos outros sites, e finalmente descobri que o problema estava com o Bitdefender bloqueando o aapt ....
Se você possui o Bitdefender instalado, precisa ativar o aapt & aapt2 " Acesso a Aplicativos " individualmente.
— mcadamm4
Se você viu esse erro depois de tentar executar testes individuais de implementação do Android ou classes de teste (clicando no ícone de execução na sarjeta) em um projeto Kotlin no Android Studio 3.0.1, poderá solucionar o erro executando o comando pacote de teste completo (clicando com o botão direito do mouse no pacote de teste e escolhendo "Executar testes em ...").
Há um bug conhecido no Android Studio 3.0.1 que faz com que o IDE execute os testes de implementação do Kotlin como testes JUnit regulares, o que fez com que a mensagem de erro do OP fosse exibida na minha máquina. O bug é rastreado em https://issuetracker.google.com/issues/71056937 . Parece ter sido corrigido no Android Studio 3.1 Canary 7.
— Andrew Marshall
Como sugerido por outros,
é a solução mais comum.
Mas no meu caso, o erro ocorreu devido a diferentes versões no compileSdkVersion e buildToolsVersion .
Verifique se a versão principal é mantida da mesma forma.
— VickyAbishek
"compileSdkVersion e buildToolsVersion" É a primeira coisa a verificar
— vgulkevic
Não use este android.enableAapt2 = false,
— Saurabh Gaddelpalliwar
Não use este android.enableAapt2 = false, isso não é uma solução. descubra o erro que é exatamente exibido na sua caixa de saída de compilação, clique em Alternar visualização para encontrar o erro ou exceção exata, use compileSdkVersion 28 buildToolsVersion "28.0.3" e siga as instruções para excluir ou atualizar a biblioteca ou dependências externas
Eu estava recebendo esse erro quando o nome do projeto era muito longo e o local em que eu estava salvando o projeto foi adicionado. Mover o projeto para outro local para que os nomes dos arquivos não ultrapassem o limite do sistema resolveu o erro para mim.
— Tanusha Kamat
Eu também tive esse problema, o original é a bandeja do sistema do meu computador neste caminho:
C: \ Users \ 'aparecem caracteres especiais' \ .android apareceu em chinês,
e agora mudei o caminho para:
C: \ Usuários \ hjc \ .android.
O motivo é o problema de caracteres especiais.É por esse motivo que leva ao cascalho appt2Exception problemas
Isso foi corrigido agora. Se você atualizar para o android gradle plugin 3.2.0-alpha11 ou mais recente, ele funcionará agora com caracteres não-ascii no caminho do arquivo.
Eu tive um problema muito parecido. Foi resolvido excluindo o cache do gradle (~ / .gradle / caches no linux), que forçou o android studio a baixar e gerar tudo novamente.
— happylego91
Fechar o projeto e reiniciar o android studio corrigiu esse problema para mim.
Ao reiniciar, o android studio notificou que era necessário baixar os SDKs ausentes; portanto, uma vez resolvido, o problema foi corrigido.
Não tenho certeza se isso já foi respondido por você, mas permita-me avaliar. Eu enfrentei um problema semelhante recentemente e pude identificar o problema exato na guia compilar ao lado do logcat. Meu problema foi causado por um erro de família de fontes no XML. Estou usando a versão mais recente do Android Studio com a atualização de março de 2018.
— Beast77
Certifique-se de usar tipos de arquivo válidos em seu src/main/res/rawdiretório. No meu caso, eu copiei um arquivo .mov junto com vários outros arquivos no meu diretório res / raw. Eu suspeito que o problema era que o aapt estava tentando processar o arquivo .mov e não sabia o que fazer com ele.
— Tash Pemhiwa
Eu tive exatamente o mesmo problema: Após a atualização para o Android Studio 3.1.2, meu projeto não foi compilado com um erro do AAPT2, informando-me alguns dos meus drawables mencionados por styles.xml não foram encontrados. Desativar o AAPT2 não é mais uma solução, pois a configuração foi descontinuada e será removida no final de 2018.
O culpado era uma linha vazia pouco antes da declinação xml em um layout.xmlarquivo totalmente não relacionado ... Então, o layout.xmlarquivo começou assim:
Removida a linha vazia e tudo funcionou como um encanto novamente. Inacreditável e improvável, mas verdadeiro.
O Android Studio, na verdade, emitiu um aviso porque o arquivo não começou com a decleração xml (por causa da linha vazia). Mas o aviso é visível apenas quando o arquivo é aberto no editor.
Esta mensagem de erro (erro AAPT2: verifique os logs para obter detalhes) não é útil porque não informa qual é o problema real.
No meu caso, isso ocorreu devido a um arquivo drawable XML de recurso ausente.
Eu só descobri porque desfiz as alterações no arquivo XML e, desta vez, recebi uma mensagem mais útil:
No meu caso, o verdadeiro problema era que, após gerar o Image Asset para gerar o ícone mipmap do iniciador para o meu projeto, o arquivo gerado ic_launcher_foreground.xml teve um erro interno (foi gerado incorretamente). Faltava a tag xml de fechamento no final do arquivo, </ vector> estava ausente.
— user3098756
Verifique e tente as coisas abaixo. O problema deve ser resolvido.
Antes de tudo, verifique seu log na parte inferior da janela de compilação, se algum erro relacionado ao projeto está sendo exibido ou não. Se o erro for exibido, corrija todos eles. Agora construa e execute novamente, corrija todos os erros. Ele eliminará o problema do aapt2 sem alterar o plug-in do Android Gradle para 3.2.0.
Em segundo lugar, se não houver nenhum erro relacionado ao projeto exibido no log de compilação, mas ainda mostrando o erro aapt2, será possível corrigi-lo seguindo as etapas abaixo.
Atualize seu plugin android gradle no build.gradlearquivo no nível do projeto, como abaixo:
Agora atualize android.enableAapt2=true . Em seguida, verifique e construa seu projeto.
Qualquer uma dessas etapas deve funcionar para corrigir problemas relacionados ao aapt.
— 0xAliHn
Se você estiver usando o Kotlin, obtendo erros devido a alguns erros nos arquivos xml. No kotlin é muito difícil encontrar erros de xml, crie falhas de forma simples. Para saber o log exato do erro, execute o comando abaixo no Android Studio Terminal e é fácil corrigir os erros.
Usá-los no terminal mostra realmente o erro exato. No meu caso, era um atributo de visibilidade vazio. Obrigado!
— Rami Jemli
Eu obtive o mesmo erro AAPT2: verifique os logs para obter detalhes e apliquei as soluções acima, conforme a solução mais comum, fui aberto gradle.properties e adicione linha
para solução, mas recebi um erro O processo 'command' D: \ Android \ sdk \ Sdk \ build-tools \ 27.0.3 \ aapt.exe '' terminou com um valor de saída diferente de zero 1
Mas depois de muitas pesquisas, descobri que há um problema no arquivo xml do layout que eu repetia linhas no arquivo xml do layout, que é o seguinte:
Remova as linhas Repetir do arquivo xml e reconstrua o projeto e Concluído.
— hetuka kodekar
Verifique as seguintes coisas no seu projeto:
Verifique se qualquer arquivo XML não possui espaço em branco no início do arquivo.
Certifique-se de que nenhum arquivo extraível tenha problemas, como letras maiúsculas ou símbolos especiais no nome.
Se o seu aapt2.exe estiver ausente continuamente, verifique o seu PC completo. Pode haver um vírus que está removendo adb.exp ou aapt2.exe