Lỗi - Liên kết tài nguyên Android không thành công (AAPT2 27.0.3 Daemon # 0)


95

Tôi có lỗi này

Tôi đang thử cài đặt lại android studio và xóa thư mục .gradle, có giải pháp nào không?

    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

Câu trả lời:


50

Có cùng một vấn đề. Giải quyết vấn đề này bằng cách thực hiện như sau: Tìm kiếm và thay thế com.android.support:support-v4:+ bằng com.android.support:support-v4:27.1.0 trong thư mục platform / android.

Ngoài ra, tôi đã phải thêm mã sau vào các tệp platform / android / app / build.gradle và platform / android / build.gradle:

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

Đã chỉnh sửa để trả lời "Cài đặt com.android.support:support-v4:+ này ở đâu?" ...

Cài đặt có thể (trong trường hợp này) nằm trong một trong các tệp .gradle của plugin của bạn trong thư mục platform / android /, ví dụ: trong trường hợp của tôi, đó là plugin starter-barcodescanner, vì vậy chỉ cần xem qua tất cả các tệp .gradle plugin của bạn:

nhập mô tả hình ảnh ở đây

Kiểm tra kỹ tệp platform / android / build.gradle.

Hi vọng điêu nay co ich.


Cảm ơn bạn đã cứu chúng tôi!
Ramesh Murugesan

Cảm ơn bạn đã cứu ngày của tôi !! Tôi đã có những ngày với vấn đề này đến đêm với tôi mà không biết làm thế nào ứng dụng của tôi ngừng hoạt động
LMoreno10

Tôi không tin rằng giải pháp quá đơn giản, tất cả những gì nó cần là một bản sao dán vào hai tệp gradle đó! Vỗ tay !!
Shyam

Đã tìm thấy một trong những lý do của sự cố này Khi chúng tôi sử dụng bất kỳ chuỗi, kiểu, màu, v.v. nào, trong tệp kê khai không có trong các giá trị (string.xml, style.xml, color.xml, v.v.) thì loại lỗi này sẽ xảy ra .
Vishnu Magar

Bản sửa lỗi này cũng hoạt động khi các phần phụ thuộc được cập nhật trong Android studio. Bản thân IDE sẽ chỉ ra trong tệp rằng các phiên bản này phải khớp
vớiSDK

91

Các nguồn Android nối thất bại lỗi cũng có thể xuất hiện nếu bạn có một lỗi trong bất kỳ tài nguyên XML của bạn. Trong trường hợp của tôi, tôi đã sử dụng dòng sau hai lần trong một trong các tệp có thể kéo XML của tôi trong thư mục có thể kéo:

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

Tôi đã xóa dòng trùng lặp và lỗi đã biến mất. Lỗi hơi gây hiểu nhầm:

Liên kết tài nguyên Android không thành công Đầu ra: / 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) không tìm.

Theo lỗi trên, điều đầu tiên bạn cần làm là đọc bằng chứng tất cả các tài nguyên có thể vẽ được truy cập trong activity_main vì khả năng cao hơn là bạn sẽ tìm thấy lỗi. Trong trường hợp xấu nhất, bạn có thể phải kiểm tra tất cả các tệp tài nguyên của mình.


4
Điều này. Điều này đã giải quyết vấn đề của tôi. Thật khó chịu khi lỗi này không được IDE báo hiệu và lỗi liên kết nói về một thứ hoàn toàn khác.
ocramot 14/1218

4
mẹ của chúa!
Mihir Patel

1
tôi đã thực sự: <?xml version="1.0" encoding="UTF-8"?><?xml version="1.0" encoding="UTF-8"?> (trên cùng một dòng: P khó phát hiện)
Alan sâu

1
Mine là tôi đã sử dụng một tài nguyên trong Manifest trong khi nó đã bị xóa <meta-data android:name="com.google.android.actions" android:resource="@xml/my_event_session_menu" />
Gpak

2
+1 vì đã tiết kiệm thời gian cho tôi. Điều khó chịu nhất là Android Studio đã trỏ sai tệp, điều này khiến tôi vò đầu bứt tai vì tệp mà nó nói rằng nó không thể liên kết đến là ổn.
Machine Tribe

46

Lưu ý: Android Studio tạo ra một loạt các lỗi điên rồ như thế này nếu bạn nâng cấp các thư viện hỗ trợ lên 28.0.0và của bạn compileSdkVersioncũng không phải là 28.


14
Tôi đã có cả hai compileSdkVersion 28support-v4:28.0.0và tôi đang gặp lỗi tương tự :(
ocramot 14/12/18

1
@ocramot Tôi đã khắc phục sự cố bằng cách hạ cấp compileSdkVersion xuống 27
suvojit_007

1
+1. Dự án của tôi có hai mô-đun và tôi có các phiên bản khác nhau (một là 29 và một là 27). Khi tôi đặt tất cả chúng thành 29, lỗi đã biến mất
voghDev

Cảm ơn! Trong trường hợp của tôi, tôi phải đặt 'minSdkVersion' giống như 'compileSdkVersion'. Nếu không, chỉ bản dựng đầu tiên sẽ chạy và tất cả các lần chạy lại do đó sẽ không thành công với lỗi tương tự như OP
Jim B

7

Nếu đang sử dụng Windows 10 và Android Studio 3.2, bạn chỉ cần truy cập build.gradle của ứng dụng và thay đổi phiên bản.

Trong phần phụ thuộc, thay đổi phiên bản và xây dựng / đồng bộ hóa


Đó là Mô-đun Gradle. Nhấp vào liên kết ở trên để xem ảnh chụp màn hình.
Syed Raza

3
Windows 10 có phải là một yêu cầu không?
IgorGanapolsky

7

Sự cố đã được khắc phục cho tôi bằng cách thay thế compileSdkVersion 23bằng compileSdkVersion 28in build.gradle (Project: build).


Làm việc cho tôi, cảm ơn! Tôi vẫn cóminSdkVersion 23
Stephen Hosking

@StephenHosking Nó có hoạt động với bạn mà không cần nâng cấp compileSdkVersiontừ 23lên 28không? Trong trường hợp đó, vấn đề mà bạn đang gặp phải ban đầu là gì?
Jaime Montoya

Tôi cần phải có được rõ ràng hơn. Giải pháp của bạn, tức là. thay thế compileSdkVersion 23bằng compileSdkVersion 28đã làm việc cho tôi, nhưng tôi chỉ đề cập rằng có thể rời khỏi minSdkVersion 23, như thông tin bổ sung về một giải pháp chính xác. Sự cố ban đầu của tôi là "Lỗi - Liên kết tài nguyên Android không thành công"
Stephen Hosking

@StephenHosking Đẹp. Tốt đó là làm việc cho bạn bây giờ.
Jaime Montoya

4

Tôi đã nhập các màu mới vào dự án của mình và gặp vấn đề tương tự. Vì vậy, tôi đã mở styles.xmlvà gán lại các mục với màu sắc bằng cách sử dụng tên màu mới.


4

Tôi đã giải quyết nó bằng cách thêm @+id/ trước tất cả các ID của mình.

I E @+id/your_item_id


Đây không phải là câu trả lời đúng cho câu hỏi. cung cấp một câu trả lời đúng và bạn đã làm nó như thế nào và vấn đề của nó là gì ?. \
Yohan Malshika

4

cảm thấy thật ngu ngốc - (vì bất cứ lý do gì) tôi có một xml trống trong thư mục có thể vẽ được. và AS tạo ra hàng tá lỗi không liên quan> <

vì vậy, lời khuyên chung của tôi sẽ giống nhau - hãy kiểm tra ngắn gọn mọi tệp tài nguyên.


3

com.android.support:support-v4 vừa mới có bản cập nhật và có thể ảnh hưởng đến plugin sử dụng phiên bản cập nhật trong phần phụ thuộc của chúng. Nhưng nếu bạn không thể tìm thấy phần phụ thuộc (như nếu bạn sử dụng plugin crosswalk), chỉ cần đặt mã này vào đầu plugin chuyển màu mã của bạn (không cần thêm trên build.gradle).

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

Vị trí ví dụ để đặt mã trong plugin dành cho người đi bộ tại đây

Vui lòng chỉnh sửa phiên bản của com.android.support (KHÔNG SỬ DỤNG Phiên bản 28.0.0) vì đó là vấn đề


2
Cảm ơn rất nhiều. Tôi đang sử dụng 27.1.0như @RFourie đã đề cập.
Ramesh Murugesan

2

Sẽ có một số lỗi trong các tệp tài nguyên. Nó có nghĩa là có thể có giá trị đã nhập của các thuộc tính bị bỏ lỡ. Xem qua các tệp tài nguyên và sửa các giá trị này và tận hưởng công việc.


2

Có thể có nhiều lý do cho sự cố này và những lý do này chủ yếu nằm trong tệp build.gradle cấp độ ứng dụng hoặc tài nguyên.

Trong trường hợp của tôi, một dạng xem trong tệp tài nguyên không có phần phụ thuộc bắt buộc được bao gồm trong tệp build.gradle.

Vì vậy, hãy đảm bảo bao gồm tất cả các phụ thuộc bắt buộc trong tệp build.gradle.


2

Kiểm tra phiên bản plugin Gradle của bạn . Hãy thử hạ cấp nó nếu bạn đã cập nhật lên phiên bản mới hơn ngay trước khi vấn đề này xuất hiện. Đi tới Tệp -> Cấu trúc dự án . Thay đổi phiên bản trước.


1

Hãy thử cập nhật phiên bản xây dựng mới nhất, phiên bản mục tiêu và biên dịch cũng như cập nhật các phần phụ thuộc nhưng không hoạt động với tôi

Trong trường hợp của tôi thay đổi <meta-items/>đến <meta-data/>trong tác phẩm biểu hiện đối với tôi ...

Hy vọng nó hữu ích cho ai đó ...


1

Tôi đã gặp vấn đề tương tự, nhưng đó là do trong layout_width / height của các nút, tôi đã quên đặt dp ở cuối khi chỉnh sửa chúng. Đã thêm dp và sự cố đã được khắc phục: /


1

Trong trường hợp của tôi, tôi đã vô tình viết:

app:displayViewTitle="@string/instructions_defineExtract_confirm_email"

Điều thú vị là Android Studio có thể điều hướng chuỗi thông qua CTRL + nhấp chuột. Nó chỉ là lỗi Thời gian xây dựng. Thay đổi thành "phân cách chấm" tiêu chuẩn đã thực hiện thủ thuật

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

1

Đã tìm thấy một trong những lý do gây ra sự cố này

Khi chúng tôi cố gắng sử dụng bất kỳ

chuỗi, kiểu, màu, v.v.,

trong tệp kê khai không có trong các giá trị (string.xml,style.xml,color.xml,etc,)thì loại lỗi này xảy ra


1

tôi gặp lỗi tương tự và tôi đã sửa nó khi tôi đóng AndroidStudio và xóa dir như C:\Users\Jalal D\.gradle\caches\transforms-1\trong thông tin lỗi bản dựng.


1

Tôi đã gặp vấn đề tương tự và đã giải quyết nó bằng cách đi tới Tệp -> Cấu trúc dự án ... -> Đề xuất và sau đó Áp dụng tất cả. Giống như đề xuất của @JeffinJ Tôi nghĩ rằng vấn đề là do bản cập nhật plugin Gradle.


0

Tôi đang gặp sự cố tương tự nhưng tôi đã tìm ra giải pháp, vấn đề là bạn đang sử dụng bất kỳ thứ nào trong phần phụ thuộc tương ứng với cùng một miền nhưng với các phiên bản khác nhau, hãy đảm bảo rằng tất cả chúng đều giống nhau


Tôi đã cài đặt Android Studio 3.3.2 vào đêm qua. Tôi là một người mới hoàn toàn. Tôi đã tạo một ứng dụng "Flutter" và cố gắng chạy nó. Tôi nhận được thông báo lỗi đầu ra và liên kết sau:
Elliot

0

Tôi đã gặp phải vấn đề tương tự và nó được giải quyết bằng cách xóa lỗi khỏi các tệp tài nguyên như tệp kiểu, màu trong thư mục giá trị. Trong trường hợp của tôi, lỗi về màu sắc kiểu như bên dưới:

 <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

Thay đổi phiên bản của thư viện hỗ trợ của cái cuối cùng được kích hoạt (28.0.0) bằng phiên bản trước đó (27.1.0) , lỗiAndroid Resource Linking Failed biến mất.

Cần lưu ý rằng phiên bản 27.1.0 là phiên bản tối đa được phép trong các triển khai của chúng tôi, phiên bản này hoạt động, nhưng bạn có thể sử dụng phiên bản cũ hơn nếu muốn. Và điều này phải được sử dụng trong tất cả các phụ thuộc bắt đầu bằng chuỗicom.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'
}

Sau đó, hóa dự án với tệp Gradle

GL


0

Vấn đề tương tự cũng xảy ra với tôi, nhưng trước khi gặp lỗi này, ứng dụng của tôi đang chạy. Vì vậy, tôi chỉ thực hiện hoàn tác 2/3 lần. Và đã thay đổi một lần nữa. Và xây dựng app.app đã chạy thành công.


0

Tôi đã gặp vấn đề tương tự sau khi thêm phần phụ thuộc sau:

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

Và lý do là phiên bản mới nhất của evernote sử dụng phụ thuộc vào AndroidX, trong khi tôi đã có phiên bản thư viện hỗ trợ 27.1.1 trong dự án của mình. Vì vậy, có một tùy chọn nâng cấp thư viện hỗ trợ lên 28.0.0, như các câu trả lời khác đề xuất, nhưng điều đó hơi phức tạp đối với một dự án lớn với nhiều chế độ xem tùy chỉnh. Vì vậy, tôi đã giải quyết vấn đề bằng cách hạ cấp phiên bản evernote xuống 1.3.1.


0

Nghe có vẻ tầm thường, nhưng đối với tôi đã Build > Clean Projectsửa lỗi này mà không có bất kỳ thay đổi nào khác.


0

Đối với tôi, lỗi xuất hiện sau khi thay đổi biểu tượng trình khởi chạy của tôi bằng Asset Studio. Hóa ra ic_launcher_foreground.xmltệp được tạo thiếu dòng sau ở đầu tệp: <?xml version="1.0" encoding="utf-8"?>


Của tôi cũng tương tự. Tôi đã thêm một Biến thể bản dựng mới và có hai lỗi trong số này. Lỗi đầu tiên không có ý nghĩa gì, nhưng tôi đã tìm hiểu lỗi thứ hai và nhận thấy rằng bản dựng này bị thiếu ic_launcher.png
ja928

0

Tôi đang sử dụng Studio 3.3.1 Build từ ngày 28 tháng 1.

Đối với tôi, tôi đã nhận được "lỗi liên kết tài nguyên android không thành công" chỉ đến một dòng trong tệp bố cục sử dụng ConstraintLayout đã hoạt động bình thường cho đến hôm nay khi thay đổi duy nhất đối với tệp gradle cấp ứng dụng của tôi là cập nhật các phiên bản của:

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

từ 1.0.0-rc01đến 1.0.0-rc02.

Thông báo lỗi cho biết điều gì đó về việc không nhận dạng được layout_constraintTop_toTopOftất nhiên là ngớ ngẩn vì nó đã được biên dịch khá vui vẻ trong nhiều tháng.

Tôi đã sử dụng 28.0.3 các công cụ xây dựng và compileSdkVersion28. Tôi đã sử dụngandroidx.appcompat ở khắp mọi nơi trong một thời gian (đã chuyển đổi dự án này vài tháng trở lại androidx).

Lần đầu tiên tôi trải qua một dự án sạch (không trợ giúp) và vô hiệu hóa bộ nhớ cache / khởi động lại (không trợ giúp). Bố cục được đề cập ban đầu đã được xác định bằng cách sử dụng

<TextView>, <EditText><ImageView>các thành phần (mà đã làm việc tốt cho đến ngày nay).

Nhưng sau khi đọc các câu trả lời ở trên, tôi nghĩ có lẽ bằng cách nào đó đã có sự nhầm lẫn được gây ra ở đây vì vậy tôi đã thay đổi bố cục để sử dụng:

<androidx.appcompat.widget

phiên bản của tất cả các thành phần khác nhau. Không thay đổi - vẫn bị lỗi.

Sau đó, tôi đã xóa <androidx.appcompat.widget.AppCompatTextViewkhối gây ra lỗi biên dịch. Tôi đã thay đổi tất cả các tham chiếu đến nó trong các widget khác để tham chiếu đến "cha" thay thế. Đã làm một. Lần này biên dịch hoàn thành mà không có lỗi .

Vì vậy, một cái gì đó kỳ lạ trong định nghĩa widget đó tôi nghĩ .... đây là những gì nó đã được:

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

Sau đó, tôi dán lại khối mà tôi đã cắt Ctrl-V trước đó và thay đổi các tham chiếu trở lại ID đó trong các thành phần khác tham chiếu nó trong bố cục. Biên dịch không thành công .

Tôi cắt khối một lần nữa và dán nó vào WordPad. Sau đó, đọc từ WordPad paste, tôi thực sự đã nhập lại nó (tức là lần này tôi không sao chép / dán) - từng dòng một, thực hiện dự án sau khi tôi gõ vào định nghĩa tối thiểu, và sau đó lặp lại khi tôi đưa vào mỗi dòng mới. Mỗi lần dự án được biên dịch sạch sẽ!

Tôi không biết phải làm gì với điều này. Có lẽ ban đầu một nhân vật vô hình giả nào đó có trong tập tin?


0

Trong trường hợp của tôi, tôi đã vô tình tạo kiểu một thuộc tính chỉ có trong các nút và thêm kiểu đó cho 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>

Xóa hàng đã android:borderlessButtonStylekhắc phục sự cố.


0
  • Nhấp chuột phải vào thư mục có thể vẽ và chọn "Hiển thị trong Explorer" .
  • Tìm tệp không thành công trong hệ thống tệp đã mở, chọn chúng (hoặc chọn các tệp trong toàn bộ tệp có thể vẽ), sau đó sao chép chúng vào tệp drawable-v24 (không xóa tệp có thể vẽ và tạo nó nếu không có tệp drawable-v24 ).
  • Sau đó chọn Tệp -> Vô hiệu hóa bộ nhớ cache / Khởi động lại
  • khởi động lại Android Studio.

Điểm 1 & 2 Hoạt động đối với tôi. Nhưng bây giờ tôi cần đặt các tệp bị lỗi ở hai nơi, một trong drawable và một trong drawable-v24.
Aman Goyal

0

Trong trường hợp bạn gặp phải điều này: trong trường hợp của tôi, tôi đã có một chuỗi đã dịch, nhưng chuỗi đó chưa xuất hiện trong chuỗi mặc định .xml. Đã thêm chuỗi bị thiếu vào string.xml và nó đã được giải quyết.


0

Trong trường hợp của tôi, lỗi đã trỏ đến tệp AndroidManifest.xml. Tôi đã có dòng này:

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

Mà, tôi không chắc tại sao Android Studio lại đặt nó ở đó. Tôi đã không thay đổi tệp kê khai của mình và điều này chưa bao giờ xảy ra cho đến khi tôi nâng cấp lên phiên bản 3.5.3 - vì vậy AS hẳn đã làm điều đó cho tôi. Dù sao, dòng đáng lẽ phải trông như thế này:

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

Một khi tôi thay đổi điều đó, tất cả đều tốt.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.