오류-Android 리소스 연결 실패 (AAPT2 27.0.3 데몬 # 0)


96

이 오류가 있습니다

나는 안드로이드 스튜디오를 다시 설치하고 .gradle 폴더를 제거하려고합니다.

    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

답변:


50

똑같은 문제가있었습니다. 검색 및 교체 : 다음을 수행하여 해결 com.android.support:support-v4:+을 함께 com.android.support:support-v4:27.1.0 플랫폼 / 안드로이드 디렉토리에.

또한 다음 코드를 platform / android / app / build.gradle 및 platform / android / build.gradle 파일에 추가해야했습니다.

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

"이 com.android.support:support-v4:+ 설정은 어디에 있습니까?"라고 대답하도록 수정되었습니다. ...

설정은 아마도 (이 경우) platform / android / 디렉토리에있는 플러그인의 .gradle 파일 중 하나에있을 것입니다.

여기에 이미지 설명 입력

platform / android / build.gradle 파일을 다시 확인하십시오.

도움이 되었기를 바랍니다.


우리를 구 해주셔서 감사합니다!
Ramesh Murugesan 2018 년

덕분에 당신은 나의 날! 내 응용 프로그램이 작동을 중지했던 방법을 아는없이 나에게 밤에서 나온이 문제와 함께 일을했다 저장
LMoreno10

솔루션이 너무 간단하다고 믿지 않습니다. 두 개의 gradle 파일에 복사 붙여 넣기 만하면됩니다! 박수 !!
Shyam

이 문제의 원인 중 하나를 찾았습니다. 값 (string.xml, style.xml, color.xml 등)에없는 매니페스트에서 문자열, 스타일, 색상 등을 사용하면 이러한 유형의 오류 발생 .
Vishnu Magar

이 수정은 Android 스튜디오에서 종속성이 업데이트 된 경우에도 작동합니다. IDE 자체는 파일에서 이러한 버전이
compileSDK

93

실패 연결 안드로이드 자원 당신이 당신의 XML 자원의 하나에 오류가있는 경우 오류가 나타날 수 있습니다. 제 경우에는 드로어 블 폴더의 XML 드로어 블 중 하나에서 다음 줄을 두 번 사용했습니다.

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

중복 줄을 제거하고 오류가 사라졌습니다. 오류는 약간 오해의 소지가 있습니다.

Android 리소스 연결 실패 출력 : / Users / johndoe / Desktop / myapp / app / src / main / res / layout / activity_main .xml : 2 : error : resource drawable / bg_main (aka com.example.myproject : drawable / bg_main) not 녹이다.

위의 오류에 따라 가장 먼저해야 할 일은 activity_main 에서 액세스되는 모든 드로어 블 리소스를 검증 하는 것입니다. 오류를 찾을 가능성이 더 높기 때문입니다. 최악의 시나리오에서는 모든 리소스 파일을 확인하게 될 수 있습니다.


4
이. 이것은 내 문제를 해결했습니다. 이 오류가 IDE에 의해 신호되지 않았고 연결 오류가 완전히 다른 것에 대해 이야기하는 것은 매우 성가신 일입니다.
ocramot

4
하나님의 어머니 !
Mihir Patel

2
내 실제로이었다 <?xml version="1.0" encoding="UTF-8"?><?xml version="1.0" encoding="UTF-8"?> (같은 줄에 : 열심히 P가 감지)
앨런 깊은

1
광산은 이미 삭제하는 동안은 매니페스트의 리소스를 사용하고 있었다이었다 <meta-data android:name="com.google.android.actions" android:resource="@xml/my_event_session_menu" />
Gpak

2
시간 절약을 위해 +1했습니다. 가장 성가신 점은 Android Studio가 잘못된 파일을 가리켰다는 것입니다. 이로 인해 링크 할 수 없다고 말한 파일이 괜찮 았기 때문에 머리를 긁적입니다.
Machine Tribe

46

참고 :에 대한 지원 라이브러리를 업그레이드하는 경우 안드로이드 스튜디오는 이런 미친 오류의 부하를 뱉어 28.0.0하고는 compileSdkVersion도 28 없습니다.


14
난 이미 모두 가지고 compileSdkVersion 28support-v4:28.0.0나는 같은 오류 :( 받고 있어요
ocramot

1
나는 27에 compileSdkVersion를 다운 그레이드하여 문제를 해결 @ocramot
suvojit_007

1
+1. 내 프로젝트에는 두 개의 모듈이 있고 다른 버전이 있습니다 (하나는 29 개, 다른 하나는 27 개). 나는 29에 그들 모두를 설정하면 오류가 사라졌다
voghDev

감사! 제 경우에는 'minSdkVersion'을 'compileSdkVersion'과 동일하게 설정해야했습니다. 그렇지 않으면 첫 번째 빌드 만 실행되고 그에 따른 모든 재실행이 OP와 유사한 오류와 함께 실패합니다
Jim B

7

Windows 10 및 Android Studio 3.2를 사용하는 경우 앱의 build.gradle 로 이동 하여 버전을 변경하면됩니다.

종속성에서 버전 변경 및 빌드 / 동기화


모듈 Gradle입니다. 스크린 샷을 보려면 위의 링크를 클릭하십시오.
Syed Raza

3
Windows 10이 요구 사항입니까?
IgorGanapolsky 2010 년

7

in 으로 대체 compileSdkVersion 23하여 문제가 해결 compileSdkVersion 28되었습니다 build.gradle (Project: build).


나를 위해 일했습니다, 감사합니다! 나는 아직도 가지고있다minSdkVersion 23
Stephen Hosking

@StephenHosking compileSdkVersion에서 23로 업그레이드하지 않고 작동 했습니까 28? 이 경우 원래 겪고 있던 문제는 무엇 이었습니까?
Jaime Montoya

나는 더 명확해야했다. 귀하의 솔루션, 즉. 대신 compileSdkVersion 23compileSdkVersion 28나를 위해 일하지만, 난 그냥 떠날 수 있었다고 언급 minSdkVersion 23정확한 솔루션에 대한 추가 정보를 같이. 내 원래의 문제였다 "오류 - 안드로이드 자원 연결에 실패했습니다"
스티븐 호스 킹

트윗 담아 가기 이제 당신에게 좋은 일입니다.
Jaime Montoya

4

새 색상을 프로젝트로 가져 왔는데 같은 문제가 발생했습니다. 그래서 styles.xml새로운 색상 이름을 사용하여 항목을 열고 색상에 다시 할당했습니다.


4

@+id/ 내 모든 ID 앞에 추가하여 해결했습니다 .

@+id/your_item_id


이것은 질문에 대한 정답을 제공하지 않습니다. 정답을 제공하고 어떻게했고 그 문제는 무엇입니까?. \
Yohan Malshika

4

너무 어리석은 느낌-(어떤 이유로 든) 드로어 블 폴더에 빈 XML이 하나 있습니다. AS에서 수십 개의 관련없는 오류가 발생했습니다.> <

따라서 내 일반적인 조언은 동일합니다. 모든 리소스 파일을 간략하게 확인하십시오.


3

com.android.support:support-v4는 최근 업데이트를 받았으며 종속성에서 업데이트 된 버전을 사용하는 플러그인에 영향을 미칠 수 있습니다. 그러나 종속성에서 찾을 수없는 경우 (예 : crosswalk 플러그인을 사용하는 경우),이 코드를 코드 gradle 플러그인 위에 추가하기 만하면됩니다 (build.gradle에 추가 할 필요 없음).

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

여기 에 횡단 보도 플러그인에 코드를 넣을 위치의 예

com.android.support (28.0.0을 사용하지 마십시오)의 버전을 자유롭게 편집하십시오. 그게 문제이기 때문입니다.


2
감사합니다. 27.1.0@RFourie가 언급 한대로 사용 하고 있습니다.
Ramesh Murugesan 2018 년

2

리소스 파일에 오류가있을 것입니다. 이는 속성 값이 잘못 입력되었을 수 있음을 의미합니다. 리소스 파일을 살펴보고이 값을 수정하고 작업을 즐기십시오.


2

이 문제에는 여러 가지 이유가있을 수 있으며 이러한 이유는 주로 리소스 또는 앱 수준 build.gradle 파일에 있습니다.

제 경우에는 리소스 파일의보기에 build.gradle 파일에 포함 된 필수 종속성이 없었습니다.

따라서 build.gradle 파일에 필요한 모든 종속성을 포함해야합니다.


2

Gradle 플러그인 버전을 확인하세요 . 이 문제가 나타나기 직전에 최신 버전으로 업데이트 한 경우 다운 그레이드하십시오. 파일 -> 프로젝트 구조로 이동합니다 . 이전 버전으로 변경하십시오.


1

최신 빌드 버전, 대상 및 컴파일 버전을 업데이트하고 종속성도 업데이트하지만 나를 위해 작동하지 않습니다.

내 경우 에는 매니페스트로 변경 <meta-items/>하면 <meta-data/>나를 위해 작동합니다 ...

누군가에게 도움이되기를 바랍니다 ...


1

나는 같은 문제가 있었지만 내 버튼 layout_width / height에서 편집 할 때 끝에 dp를 넣는 것을 잊었 기 때문입니다. dp 추가 및 문제 수정 : /


1

저에게는 Asset Studio를 사용하여 런처 아이콘을 변경 한 후 오류가 나타났습니다. 알고 보니 그 ic_launcher_foreground.xml파일의 맨 위에 다음 줄을 잃어버린 생성 된 파일 : <?xml version="1.0" encoding="utf-8"?>


저도 비슷했습니다. 새로운 빌드 변형을 추가했고 이러한 오류 중 두 가지가 발생했습니다. 첫 번째는 의미가 없었지만 두 번째 오류를 파헤쳐이 빌드에 ic_launcher.png가 없음을 발견했습니다
ja928

1

제 경우에는 실수로 다음과 같이 썼습니다.

app:displayViewTitle="@string/instructions_defineExtract_confirm_email"

흥미롭게도 Android Studio는 CTRL + 클릭을 통해 문자열을 탐색 할 수있었습니다. 빌드 시간 오류가 발생했습니다. 표준 "점 분리"로 변경하면 트릭이 발생했습니다.

app:displayViewTitle="@string/instructions.defineExtract.confirm.email"

1

이 문제의 원인 중 하나를 찾았습니다.

우리가 어떤 것을 사용하려고 할 때

문자열, 스타일, 색상 등,

값에 없는 매니페스트 파일 (string.xml,style.xml,color.xml,etc,)에서이 유형의 오류가 발생합니다.


1

동일한 버그가 발생하여 AndroidStudio를 닫고 C:\Users\Jalal D\.gradle\caches\transforms-1\빌드 오류 정보에서 와 같이 디렉토리를 삭제할 때 수정했습니다 .


1

동일한 문제가 발생하여 파일-> 프로젝트 구조 ...-> 제안 으로 이동 한 다음 모두 적용 하여 해결했습니다 . @JeffinJ가 제안한 것처럼 Gradle 플러그인 업데이트로 인해 문제가 발생했다고 생각합니다.


0

비슷한 문제가 있었지만 해결책에서 나온 문제는 동일한 도메인에 해당하는 종속성에서 어떤 것을 사용하고 있었지만 다른 버전을 사용하면 모두 동일하다는 것입니다.


어젯밤에 Android Studio 3.3.2를 설치했습니다. 나는 완전한 초보자입니다. "Flutter"응용 프로그램을 만들고 실행 해 보았습니다. 다음과 같은 출력 및 연결 실패 메시지가 나타납니다.
Elliot

0

나는 같은 문제에 직면했고 값 폴더의 스타일, 색상 파일과 같은 리소스 파일에서 오류를 제거하여 해결되었습니다. 제 경우에는 다음과 같은 스타일 색상 오류 :

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

0

이전 (27.1.0)에 의해 활성화 된 마지막 지원 라이브러리 (28.0.0) 의 버전을 변경 하면 오류가 사라졌습니다.Android Resource Linking Failed

버전 27.1.0은 우리 구현에서 허용되는 최대 값이며 작동하지만 원하는 경우 이전 버전을 사용할 수 있습니다. 그리고 이것은 문자열로 시작하는 모든 종속성에서 사용되어야합니다.com.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'
}

그런 다음 프로젝트를 Gradle 파일과 동기화

GL


0

동일한 문제가 발생했지만이 오류가 발생하기 전에 내 앱이 실행 중이었습니다. 그래서 2/3 번 실행 취소했습니다. 그리고 다시 변화했습니다. 그리고 app.app 빌드가 성공적으로 실행되었습니다.


0

다음 종속성을 추가 한 후에도 동일한 문제가 발생했습니다.

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

그 이유는 최신 버전의 evernote가 AndroidX에 대한 종속성을 사용하는 반면 프로젝트에서 라이브러리 버전 27.1.1을 지원했기 때문입니다. 따라서 다른 답변에서 알 수 있듯이 지원 라이브러리를 28.0.0으로 업그레이드하는 옵션이 있었지만 많은 사용자 지정보기가있는 대규모 프로젝트의 경우 약간 까다로 웠습니다. 그래서 Evernote 버전을 1.3.1로 다운 그레이드하여 문제를 해결했습니다.


0

진부하게 들릴 수 있지만 Build > Clean Project다른 변경 없이이 오류를 수정했습니다.


0

1 월 28 일부터 Studio 3.3.1 Build를 사용하고 있습니다.

나를 위해 내 앱 수준 gradle 파일의 유일한 변경 사항이 다음 버전을 업데이트하는 것이었을 때까지 올바르게 작동했던 ConstraintLayout을 사용하여 레이아웃 파일의 한 줄을 가리키는 "오류 android resource linking failed"가 발생했습니다.

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

에서 1.0.0-rc01까지 1.0.0-rc02.

오류 메시지는 layout_constraintTop_toTopOf몇 달 동안 꽤 행복하게 컴파일했기 때문에 어떤 것이 어리석은 지 인식하지 못하는 것에 대해 말하고 있습니다.

나는 이미 28.0.3의 빌드 도구와 compileSdkVersion28 의 빌드 도구를 사용 androidx.appcompat하고 있습니다. 나는 한동안 모든 곳 에서 사용 하고 있습니다 (이 프로젝트를 몇 달 동안 androidx로 변환).

처음에는 프로젝트 정리 (도움말 없음)를 수행하고 캐시 / 다시 시작 (도움말 없음)을 무효화했습니다. 문제의 레이아웃은 원래 다음을 사용하여 정의되었습니다.

<TextView>, <EditText><ImageView>구성 요소 (오늘까지 잘 작동했습니다).

그러나 위의 답변을 읽은 후 어떻게 든 여기에 혼란이 있다고 생각하여 레이아웃을 사용하도록 변경했습니다.

<androidx.appcompat.widget

모든 다양한 구성 요소의 버전. 변경 사항 없음-여전히 오류가 있습니다.

그런 다음 <androidx.appcompat.widget.AppCompatTextView컴파일 오류를 일으키는 블록 을 삭제했습니다 . 대신 "부모"를 참조하도록 다른 위젯에서 모든 참조를 변경했습니다. 만들었습니다. 이번에는 컴파일이 오류없이 완료되었습니다 .

그래서 제가 생각했던 위젯 정의에서 이상한 점이 있습니다.

<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"/>

그런 다음 이전에 Ctrl-V 잘라낸 블록을 다시 붙여넣고 레이아웃에서 참조하는 다른 구성 요소에서 참조를 해당 ID로 다시 변경했습니다. 컴파일에 실패했습니다 .

블록을 다시 잘라 워드 패드에 붙여 넣었습니다. 그런 다음 워드 패드 붙여 넣기를 읽고 실제로 다시 입력했습니다. 각각의 새 줄에 넣으십시오. 프로젝트가 깔끔하게 컴파일 될 때마다!

나는 이것을 어떻게 만들어야할지 모르겠다. 원래 파일에 가짜 보이지 않는 캐릭터가 있었을까요?


0

제 경우에는 실수로 버튼에만있는 속성을 스타일링하고 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>

행을 제거하면 android:borderlessButtonStyle문제가 해결되었습니다.


0
  • 드로어 블 폴더를 마우스 오른쪽 버튼으로 클릭 하고 "탐색기에 표시"를 선택합니다 .
  • 열린 파일 시스템에서 실패한 파일을 찾아서 선택 (또는 전체 드로어 블에서 파일 선택) 한 다음 드로어 블 -v24 파일에 복사 합니다 (드로어 블 파일을 삭제하지 말고 드로어 블 -v24 파일이없는 경우 생성하십시오). ).
  • 그런 다음 파일 -> 캐시 무효화 / 다시 시작을 선택 하고
  • Android Studio를 다시 시작하십시오.

포인트 1 & 2는 나를 위해 작동합니다. 하지만 이제 실패한 파일을 드로어 블과 드로어 블 -v24의 두 곳에 배치해야합니다.
Aman Goyal

0

이 경우 : 제 경우에는 번역 된 문자열이 있지만 문자열은 아직 기본 strings.xml에 나타나지 않았습니다. 누락 된 문자열을 strings.xml에 추가했으며 해결되었습니다.


0

제 경우에는 오류가 AndroidManifest.xml 파일을 가리 켰습니다. 나는이 줄이 있었다 :

<meta-data
            android:name="com.google.android.actions"
            android:resource="@xml/popup_info.xml" />

Android Studio가 왜 거기에 넣었는지 잘 모르겠습니다. 매니페스트 파일을 변경하지 않았고 버전 3.5.3으로 업그레이드 할 때까지 이런 일이 발생하지 않았습니다. 그래서 AS가 저를 위해 해주었을 것입니다. 어쨌든 라인은 다음과 같아야합니다.

<meta-data
            android:name="com.google.android.actions"
            android:resource="@layout/popup" />

일단 변경하면 모두 좋았습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.