본문 바로가기
[Developer]/Android

Android Studio Build시 failed linking references 해결방법

by 반가운 해피빈이 2018. 5. 11.

Android Build 수행시 아래와 같은 에러가 나올때 해결방법


"failed linking references"



error: resource android:attr/fontVariationSettings not found.

Message{kind=ERROR, text=error: resource android:attr/fontVariationSettings not found., sources=[C:\Users\binso\.gradle\caches\transforms-1\files-1.1\appcompat-v7-28.0.0-alpha1.aar\524dff644d806aa99009961ed95e1c03\res\values\values.xml:252:5-69], original message=, tool name=Optional.of(AAPT)}




error: resource android:attr/ttcIndex not found.

Message{kind=ERROR, text=error: resource android:attr/ttcIndex not found., sources=[C:\Users\binso\.gradle\caches\transforms-1\files-1.1\appcompat-v7-28.0.0-alpha1.aar\524dff644d806aa99009961ed95e1c03\res\values\values.xml:252:5-69], original message=, tool name=Optional.of(AAPT)}



error: resource android:attr/dialogCornerRadius not found.

Message{kind=ERROR, text=error: resource android:attr/dialogCornerRadius not found., sources=[C:\Users\binso\.gradle\caches\transforms-1\files-1.1\appcompat-v7-28.0.0-alpha1.aar\524dff644d806aa99009961ed95e1c03\res\values-v28\values-v28.xml:9:5-12:13], original message=, tool name=Optional.of(AAPT)}




그리고 이 에러의 끝에는 결국 다음과 같은 에러가 나온다.



error: failed linking references.




[해결방법]

1. Project Structure로 이동




2. Compile Sdk Version 항목을 확인



3. API 27+를 선택 및 확인 버튼을 누름


API 27+: Android API 27, P preview (Preview)




4. 바로 sync 및 Make가 수행되며, 결과로 completed successfully가 나오는것을 볼 수 있다.






당장은 Android P에 해당하는 부분으로 해결하였지만, 이것을 응용하면 추후 비슷한 오류 발생시 Compile Sdk Version의 누락으로 인해 발생할 수 있음을 확인하면 될 것 같다.


댓글2

  • abcd 2018.12.08 15:48

    sdk 버전 api27+ 는 없고 api27밖에 없는데 api27+는 어디서 다운받을 수 있죠?
    답글

    • 이 글은 Android P가 정식 출시되기 전 Preview가 나왔을 시점에 작성된 글입니다. 그래서 Android P+ 라고 가칭으로 나와있는 상태인거죠.
      현재는 27+ => 28 (Pie) 로 된 상태입니다. 따라서 28을 선택하시면 동일하게 적용이 됩니다.
      이 문제가 발생한 궁극적인 원인은 appcompat-v7-28.0.0 이라는 내용, 바로 28 버전에서 resource 를 찾고자 하는데 발견하지 못해서 나온 상황이기 때문입니다. 그래서 명시적으로 28버전에서 컴파일을 수행해 달라는 것을 지정한다는 의미의 해결방법입니다.