Erro - falha na vinculação do recurso Android (AAPT2 27.0.3 Daemon # 0)

93

Eu tenho esse erro

Estou tentando reinstalar o android studio e remover a pasta .gradle, alguma solução, por favor?

    Error:FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:processDebugResources'.
> Android resource linking failed (AAPT2 27.0.3 Daemon #0)
  Command: C:\javasdk\build-tools\27.0.3\aapt2.exe link -I\
          C:\javasdk\platforms\android-26\android.jar\
          --manifest\



  C:\Users\Jalal D\.gradle\caches\transforms-1\files-1.1\fonticon-0.1.8.aar\2b09376fc14469ba65fc8e4d85c2eed1\res\values\values.xml:19:5-25:25: AAPT: error: resource android:attr/fontVariationSettings not found.

  C:\Users\Jalal D\.gradle\caches\transforms-1\files-1.1\fonticon-0.1.8.aar\2b09376fc14469ba65fc8e4d85c2eed1\res\values\values.xml:19:5-25:25: AAPT: error: resource android:attr/ttcIndex not found.

  error: failed linking references.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1m 3s
Mahmoud D. Alghraibeh
fonte

Respostas:

50

Teve exatamente o mesmo problema. Resolvido ao fazer o seguinte: Pesquisa e substituição de com.android.support:support-v4:+ por com.android.support:support-v4:27.1.0 no diretório platform / android.

Além disso, tive que adicionar o seguinte código aos arquivos plataformas / android / app / build.gradle e plataformas / android / build.gradle:

configurations.all {
resolutionStrategy {
    force 'com.android.support:support-v4:27.1.0'
}}

Editado para responder "Onde está esta configuração com.android.support:support-v4:+?" ...

A configuração provavelmente estará (neste caso) em um dos arquivos .gradle do seu plug-in no diretório platform / android /, por exemplo, no meu caso, era o plug-in starter-barcodescanner, então basta percorrer todos os seus arquivos .gradle de plug-ins:

insira a descrição da imagem aqui

Verifique novamente o arquivo platform / android / build.gradle.

Espero que isto ajude.

RFourie
fonte
Obrigado, você nos salvou!
Ramesh Murugesan,
Obrigado salvou meu dia !! Tive dias com esse problema que saiu da noite pra mim sem saber como meu aplicativo havia parado de funcionar
LMoreno10
Não consigo acreditar que a solução era tão simples, bastou copiar e colar aqueles dois arquivos do Gradle! Aplausos !!
Shyam
Encontrado um dos motivos deste problema Quando usamos qualquer string, estilo, cor, etc, no manifesto que não está presente em valores (string.xml, style.xml, color.xml, etc,) então este tipo de erro ocorre .
Vishnu Magar
Essa correção também funciona quando as dependências são atualizadas no Android Studio. O próprio IDE indicará nos arquivos que essas versões devem corresponder ao
SDK
86

O erro de falha na vinculação de recursos do Android também pode aparecer se houver um erro em qualquer um dos seus recursos XML. No meu caso, estava usando a seguinte linha duas vezes em um dos meus drawables XML na pasta drawable:

<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" encoding="UTF-8"?>

Removi a linha duplicada e o erro desapareceu. O erro foi um pouco enganador:

Falha na vinculação do recurso Android Saída: / Users / johndoe / Desktop / myapp / app / src / main / res / layout / activity_main .xml: 2: erro: resource drawable / bg_main (também conhecido como com.example.myproject: drawable / bg_main) não encontrado.

De acordo com o erro acima, a primeira coisa que você precisa fazer é revisar todos os recursos drawable que são acessados ​​em activity_main porque as chances de você encontrar o erro são maiores. Na pior das hipóteses, você pode acabar verificando todos os seus arquivos de recursos.

Darush
fonte
4
Este. Isso resolveu meu problema. É muito chato que esse erro não tenha sido sinalizado pelo IDE e o erro de vinculação esteja falando de algo completamente diferente.
ocramot
4
mãe de Deus !
Mihir Patel
1
o meu era na verdade: <?xml version="1.0" encoding="UTF-8"?><?xml version="1.0" encoding="UTF-8"?> (na mesma linha: P mais difícil de detectar)
Alan Deep
1
A minha foi que eu estava usando um recurso no Manifest enquanto ele já estava excluído <meta-data android:name="com.google.android.actions" android:resource="@xml/my_event_session_menu" />
Gpak de
2
1 por me poupar algum tempo. O mais irritante é que o Android Studio apontou para o arquivo errado, o que me fez coçar a cabeça, pois o arquivo ao qual ele dizia que não era possível vincular estava bem.
Machine Tribe de
46

Observação: o Android Studio libera uma carga de erros malucos como esse se você atualizar as bibliotecas de suporte para 28.0.0e o seu compileSdkVersionnão for 28 também.

Daniel Wilson
fonte
13
Já recebi os dois compileSdkVersion 28e support-v4:28.0.0estou recebendo o mesmo erro :(
ocramot
1
@ocramot Corrigi o problema fazendo o downgrade de compileSdkVersion para 27
suvojit_007
1
+1. Meu projeto tem dois módulos e eu tive versões diferentes (um tinha 29 e o outro 27). Quando eu defini todos eles para 29, o erro havia desaparecido
voghDev
Obrigado! No meu caso, tive que definir 'minSdkVersion' como o mesmo que 'compileSdkVersion'. Caso contrário, apenas a primeira compilação seria executada e todas as reexecuções subsequentes falhariam com um erro semelhante ao OP
Jim B
7

Se você estiver usando o Windows 10 e o Android Studio 3.2, basta acessar o build.gradle do aplicativo e alterar a versão.

Em dependências, altere a versão e crie / sincronize

Syed Raza
fonte
É o Módulo Gradle. Clique no link acima para ver a imagem.
Syed Raza
3
O Windows 10 é um requisito?
IgorGanapolsky
7

Problema resolvido para mim ao substituir compileSdkVersion 23por compileSdkVersion 28em build.gradle (Project: build).

Jaime Montoya
fonte
Funcionou para mim, obrigado! Eu ainda tenhominSdkVersion 23
Stephen Hosking
@StephenHosking Funcionou para você sem atualizar compileSdkVersionde 23para 28? Nesse caso, qual era o problema que você estava enfrentando originalmente?
Jaime Montoya
Eu deveria ter sido mais claro. Sua solução, ou seja. substituir compileSdkVersion 23por compileSdkVersion 28funcionou para mim, mas acabei de mencionar que consegui sair minSdkVersion 23, como informação extra sobre uma solução correta. Meu problema original era "Erro - falha na vinculação de recursos do Android"
Stephen Hosking
@StephenHosking Nice. Bom, isso funciona para você agora.
Jaime Montoya
4

Importei novas cores para o meu projeto e tive o mesmo problema. Então, abri styles.xmle reatribuí itens às cores usando novos nomes de cores.

Oleksandr
fonte
4

sinto tão estúpido - (por qualquer motivo) eu tinha um xml vazio na pasta drawable. e AS produziu dezenas de erros não relacionados> <

portanto, meu conselho geral seria o mesmo - verifique rapidamente cada arquivo de recurso.

mjollneer
fonte
3

com.android.support:support-v4 recentemente obteve atualização e talvez afete o plugin que usa a versão atualizada em suas dependências. Mas se você não conseguir encontrar nas dependências (como se você usar o plugin crosswalk), apenas coloque este código no topo do seu plugin gradle de código (não há necessidade de adicionar build.gradle).

configurations.all {
resolutionStrategy.force 'com.android.support:support-v4:24.0.0'
}

Exemplo de localização para colocar o código no plugin crosswalk aqui

Sinta-se à vontade para editar a versão de com.android.support (NÃO USE O 28.0.0) porque esse é o problema

Ahmad Azam
fonte
2
Muito obrigado. Estou usando 27.1.0como @RFourie mencionado.
Ramesh Murugesan,
3

Eu resolvi isso adicionando @+id/ antes de todos os meus IDs.

ie @+id/your_item_id

Sajid2405
fonte
Esta não é a resposta certa para a pergunta. fornecer uma resposta certa e como você fez isso e qual é o problema disso ?. \
Yohan Malshika
2

Deve haver algum erro nos arquivos de recursos. Isso significa que pode haver valor digitado incorreto de atributos. Percorra os arquivos de recursos, corrija esses valores e aproveite o trabalho.

Razz
fonte
2

Pode haver vários motivos para esse problema e esses motivos estão principalmente no arquivo build.gradle de nível de recurso ou aplicativo.

No meu caso, uma visão no arquivo de recurso não tinha a dependência necessária incluída no arquivo build.gradle.

Portanto, certifique-se de incluir todas as dependências necessárias no arquivo build.gradle.

N. Fatma
fonte
2

Verifique a versão do plugin do Gradle . Tente fazer o downgrade se tiver atualizado para uma versão mais recente pouco antes de o problema aparecer. Vá para Arquivo -> Estrutura do Projeto . Mude para a versão anterior.

JeffinJ
fonte
1

Tente atualizar a versão de compilação mais recente, a versão de destino e de compilação e também atualizar as dependências, mas não funciona para mim

No meu caso mude <meta-items/>para<meta-data/> em manifesto funciona para mim ...

Espero que seja útil para alguém ...

Lokesh
fonte
1

Tive o mesmo problema, mas era porque nos meus botões layout_width / height esqueci de colocar dp no final ao editá-los. Dp adicionado e problema corrigido: /

DontJudgeMe
fonte
1

No meu caso, escrevi acidentalmente:

app:displayViewTitle="@string/instructions_defineExtract_confirm_email"

Curiosamente, o Android Studio foi capaz de navegar na string por meio de CTRL + clique. Estava apenas dando um erro de Build Time. Mudar para a "separação de pontos" padrão resolveu

app:displayViewTitle="@string/instructions.defineExtract.confirm.email"
Onat Korucu
fonte
1

Encontrou uma das razões que causa este problema

Quando tentamos usar qualquer

string, estilo, cor, etc,

no arquivo de manifesto que não está presente nos valores, (string.xml,style.xml,color.xml,etc,)então esse tipo de erro ocorre

Vishnu Magar
fonte
1

Eu tenho o mesmo bug e o consertei quando fechei o AndroidStudio e excluí o diretório como C:\Users\Jalal D\.gradle\caches\transforms-1\nas informações de erro de compilação.

103style
fonte
1

Eu tive o mesmo problema e resolvi indo em Arquivo -> Estrutura do Projeto ... -> Sugestões e depois em Aplicar tudo. Como sugerido por @JeffinJ, acho que o problema foi por causa da atualização do plugin do Gradle.

cie
fonte
0

Eu estava tendo um problema semelhante, mas eu saí da solução o problema era que você estava usando alguma coisa na dependência que corresponde ao mesmo domínio, mas com versões diferentes, certifique-se de que todas são iguais

Shubham Kumar Gupta Ggps
fonte
Instalei o Android Studio 3.3.2 ontem à noite. Eu sou um novato completo. Criei um aplicativo "Flutter" e tentei executá-lo. Recebo a seguinte saída e mensagem de falha de link:
Elliot
0

Eu estava enfrentando o mesmo problema e foi resolvido removendo o erro de arquivos de recursos como estilo, arquivos de cores na pasta de valores. No meu caso, erro nas cores de estilo abaixo:

 <style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar">
    <item name="android:textColorPrimary">**@color/colorPrimary**</item>
    <item name="android:textColorSecondary">**@color/colorPrimaryDark**</item>
</style>
Ravi
fonte
0

Mudando a versão da biblioteca de suporte da última habilitada (28.0.0) pela anterior (27.1.0) , o erro Android Resource Linking Faileddesapareceu.

Deve-se destacar que a versão 27.1.0 é a máxima permitida em nossas implementações, o que funciona, mas você pode usar uma mais antiga se desejar. E isso deve ser usado em todas as dependências que começam com a stringcom.android.support:

project / app / build.gradle

implementation "com.android.support:appcompat-v7:$rootProject.supportLibraryVersion"
implementation "com.android.support:support-v4:$rootProject.supportLibraryVersion"

project / build.gradle

ext {
    supportLibraryVersion= '27.1.0'
}

Em seguida, sincronize o projeto com os arquivos do Gradle

GL

Braian Coronel
fonte
0

O mesmo problema ocorreu comigo, mas antes de receber esse erro, meu aplicativo estava em execução. Então, desfiz 2/3 vezes. E fez mudanças novamente. E o build app.app foi executado com sucesso.

Teimoso
fonte
0

Encontrei o mesmo problema depois de adicionar a seguinte dependência:

implementation 'com.evernote:android-state:1.4.1'
annotationProcessor 'com.evernote:android-state-processor:1.4.1'

E o motivo foi que a versão mais recente do evernote usa dependências para AndroidX, enquanto eu tinha a versão da biblioteca de suporte 27.1.1 em meu projeto. Portanto, havia uma opção de atualizar as bibliotecas de suporte para 28.0.0, como as outras respostas sugerem, mas isso era um pouco complicado para um grande projeto com muitas visualizações personalizadas. Então, resolvi o problema fazendo o downgrade da versão do evernote para 1.3.1.

anro
fonte
0

Pode parecer banal, mas para mim Build > Clean Projectconsertou esse erro sem nenhuma outra alteração.

mihai1990
fonte
0

Para mim, o erro apareceu após alterar o ícone do meu iniciador usando o Asset Studio. Acontece que o ic_launcher_foreground.xmlarquivo gerado não tinha a seguinte linha na parte superior do arquivo: <?xml version="1.0" encoding="utf-8"?>

Um dróide
fonte
O meu era semelhante. Eu adicionei uma nova variante de construção e tive dois desses erros. O primeiro não fazia sentido, mas investiguei o segundo erro e descobri que faltava nesta compilação ic_launcher.png
ja928
0

Estou usando o Studio 3.3.1 Build de 28 de janeiro.

Para mim, eu estava recebendo o "erro de link de recurso do Android falhou" apontando para uma linha em um arquivo de layout usando ConstraintLayout que funcionava corretamente até hoje, quando a única alteração no meu arquivo gradle de nível de aplicativo era atualizar as versões de:

android.arch.navigation:navigation-fragment
android.arch.navigation:navigation-ui

de 1.0.0-rc01para1.0.0-rc02 .

A mensagem de erro disse algo sobre não reconhecer layout_constraintTop_toTopOf que, claro, é bobo, porque estava compilando de forma bastante feliz por meses.

Já estou em 28.0.3 de ferramentas de construção e compileSdkVersionem 28. Tenho usadoandroidx.appcompat todos os lugares há um tempo (converti este projeto meses de volta para androidx).

Eu primeiro passei por um projeto limpo (sem ajuda) e invalidando o cache / reiniciar (sem ajuda). O layout em questão foi originalmente definido usando

<TextView>, <EditText>e<ImageView> componentes (que funcionavam bem até hoje).

Mas depois de ler as respostas acima, pensei que talvez de alguma forma houvesse confusão sendo causada aqui, então mudei o layout a ser usado:

<androidx.appcompat.widget

versões de todos os vários componentes. Sem alterações - ainda recebo o erro.

Em seguida, apaguei o <androidx.appcompat.widget.AppCompatTextViewbloco que estava causando o erro de compilação. Mudei todas as referências a ele nos outros widgets para me referir a "pai". Fez um Make. Desta vez, a compilação foi concluída sem erros .

Então, algo estranho naquela definição de widget, pensei ... aqui está o que era:

<androidx.appcompat.widget.AppCompatTextView
    android:id="@+id/contact_firstname_label"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:text="@string/contact_fname_label"
    android:gravity="end"
    android:textAppearance="@android:style/TextAppearance.Material.Small"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toLeftOf="@+id/contact_detail_fname"
    app:layout_constraintBaseline_toBaselineOf="@+id/contact_detail_fname"/>

Em seguida, colei de volta o bloco que tinha cortado anteriormente com Ctrl-V e alterei as referências de volta a esse ID nos outros componentes que fazem referência a ele no layout. A compilação falhou .

Cortei o bloco novamente e colei no WordPad. Em seguida, lendo a colagem do WordPad, eu realmente digitei de volta (ou seja, não copiei / colei desta vez) - linha por linha, fazendo um make no projeto depois de digitar a definição mínima e, novamente, quando eu colocar em cada nova linha.Cada vez que o projeto é compilado de forma limpa!

Eu não sei o que fazer com isso. Talvez algum caractere invisível espúrio estivesse no arquivo originalmente?

tfrysinger
fonte
0

No meu caso, criei acidentalmente uma propriedade presente apenas nos botões e adicionei esse estilo para um TextView.

<!-- applied to TextViews -->
<style name="rowStyle"> 
    <item name="android:padding">3dp</item>
    <item name="android:borderlessButtonStyle">false</item> <!-- this caused the error -->
    <item name="android:background">@drawable/textview_border</item>
</style>

Remover a linha android:borderlessButtonStylecorrigiu o problema.

Embid123
fonte
0
  • Clique com o botão direito na pasta drawable e selecione "Mostrar no Explorer" .
  • Encontre o arquivo com falha no sistema de arquivos aberto, selecione-os (ou selecione os arquivos em todo o drawable) e copie- os para o arquivo drawable-v24 (não exclua o arquivo drawable e crie-o se não houver um arquivo drawable-v24 )
  • Em seguida, escolha Arquivo -> Invalidar Caches / Reiniciar e
  • reinicie o Android Studio.
Görkem KARA
fonte
Ponto 1 e 2 funciona para mim. Mas agora eu preciso colocar os arquivos com falha em dois locais, um no drawable e outro no drawable-v24.
Aman Goyal