Lỗi: (9, 5) lỗi: tài nguyên android: attr / hộp thoạiCornerRadius không tìm thấy


118

Vì vậy, tôi đã cài đặt android studio 3.0.1 và ngay sau khi nó mở gradle được xây dựng và hiển thị các lỗi sau. Tôi đã thử thêm các phụ thuộc như thiết kế và hỗ trợ nhưng vô ích. ai đó có thể giúp tôi? Cảm ơn bạn trước. nhập mô tả hình ảnh ở đây

Nó cho thấy rằng một số thuộc tính chẳng hạn như hộp thoạiCornerRadius và cài đặt fontVariation không được tìm thấy.


4
Tôi đã compileSdkVersion 27compileSdkVersion 28đang thay đổi compileSdkVersionđể 28giải quyết vấn đề.
Blasanka

Câu trả lời:


173

Lỗi này xảy ra do compileSdkVersionphiên bản thư viện và phiên bản không khớp .

ví dụ:

compileSdkVersion 27
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support:design:26.1.0'

và cũng tránh sử dụng + ký với thư viện như sau:

implementation 'com.android.support:appcompat-v7:26.+'

sử dụng phiên bản thư viện chính xác như thế này

implementation 'com.android.support:appcompat-v7:26.1.0'

Việc sử dụng dấu + với thư viện gây khó khăn cho quá trình xây dựng để thu thập phiên bản chính xác được yêu cầu, làm cho hệ thống không ổn định, do đó không nên khuyến khích.


Tôi đã phải cập nhật số phiên bản chính compileSdkVersion của mình giống với com.android.support:support-annotations, com.android.support:appcompat-v7, com.android.support:support-v4, com.android.support: thiết kế
đo đếm

66

Nếu bạn đang di chuyển cho AndroidX và gặp lỗi này, bạn cần đặt SDK biên dịch thành Android 9.0 (API cấp 28) trở lên


có cách nào để có androidX với sdkcompiled 27 không?
Phil

1
@Phil Trước khi bạn di chuyển, hãy cập nhật ứng dụng của bạn. Chúng tôi khuyên bạn nên cập nhật dự án của mình để sử dụng phiên bản cuối cùng của thư viện hỗ trợ: phiên bản 28.0.0. Điều này là do tạo tác AndroidX với phiên bản 1.0.0 là tệp nhị phân tương đương với tạo tác Thư viện hỗ trợ 28.0.0. Nguồn . Vì vậy, không có tùy chọn nào cho sdk 27 ​​với androidX
murgupluoglu

23

Tôi đã có vấn đề chính xác cùng. Chủ đề sau đây đã giúp tôi giải quyết nó. Chỉ cần đặt phiên bản SDK biên dịch của bạn thành Android P.

https://stackoverflow.com/a/49172361/1542720

Tôi đã khắc phục sự cố này bằng cách chọn:

API 27+: Android API 27, bản xem trước P (Xem trước)

trong cài đặt cấu trúc dự án. hình ảnh sau đây hiển thị cài đặt của tôi. 13 lỗi gặp phải khi xây dựng ứng dụng đã biến mất.

Cài đặt Gradle


3
thông báo , bạn không cần phải tới TARGET nó lên 28, bạn chỉ có thể thiết lập compileSdkVersionbuildToolsVersionđến 28 và để lại bạn targetSdkVersiontại một phiên bản thấp hơn
Kirill Karmazin

16

Kiểm tra sự phụ thuộc của bạn để biết cách sử dụng +trong các phiên bản. Một số phụ thuộc có thể được sử dụng com.android.support:appcompat-v7:+. Điều này dẫn đến sự cố khi phiên bản mới được phát hành và có thể phá vỡ các tính năng.

Giải pháp cho điều này là sử dụng com.android.support:appcompat-v7:{compileSdkVersion}.+hoặc không sử dụng +và sử dụng phiên bản đầy đủ (ví dụ com.android.support:appcompat-v7:26.1.0:).

Nếu bạn không thể thấy một dòng trong tệp build.gradle của mình cho điều này, hãy chạy trong thiết bị đầu cuối android studio để cung cấp tổng quan về những gì mỗi phụ thuộc sử dụng

gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath (bao gồm các phụ thuộc androidtest)

HOẶC LÀ

gradlew -q dependencies app:dependencies --configuration debugCompileClasspath (phụ thuộc thông thường để gỡ lỗi)

kết quả là một cái gì đó trông giống như cái này

------------------------------------------------------------
Project :app
------------------------------------------------------------

debugCompileClasspath - Resolved configuration for compilation for variant: debug
...
+--- com.android.support:appcompat-v7:26.1.0
|    +--- com.android.support:support-annotations:26.1.0
|    +--- com.android.support:support-v4:26.1.0 (*)
|    +--- com.android.support:support-vector-drawable:26.1.0
|    |    +--- com.android.support:support-annotations:26.1.0
|    |    \--- com.android.support:support-compat:26.1.0 (*)
|    \--- com.android.support:animated-vector-drawable:26.1.0
|         +--- com.android.support:support-vector-drawable:26.1.0 (*)
|         \--- com.android.support:support-core-ui:26.1.0 (*)
+--- com.android.support:design:26.1.0
|    +--- com.android.support:support-v4:26.1.0 (*)
|    +--- com.android.support:appcompat-v7:26.1.0 (*)
|    +--- com.android.support:recyclerview-v7:26.1.0
|    |    +--- com.android.support:support-annotations:26.1.0
|    |    +--- com.android.support:support-compat:26.1.0 (*)
|    |    \--- com.android.support:support-core-ui:26.1.0 (*)
|    \--- com.android.support:transition:26.1.0
|         +--- com.android.support:support-annotations:26.1.0
|         \--- com.android.support:support-v4:26.1.0 (*)
+--- com.android.support.constraint:constraint-layout:1.0.2
|    \--- com.android.support.constraint:constraint-layout-solver:1.0.2

(*) - dependencies omitted (listed previously)

Nếu bạn không có quyền kiểm soát việc thay đổi phiên bản, hãy thử buộc nó sử dụng một phiên bản cụ thể.

configurations.all {
    resolutionStrategy {
        force "com.android.support:appcompat-v7:26.1.0"
        force "com.android.support:support-v4:26.1.0"
    }
}

Sự phụ thuộc lực có thể cần khác nhau tùy thuộc vào những gì đang được đặt thành 28.0.0


9

cố gắng thay đổi compileSdkVersion thành: compileSdkVersion 28


3
Nhưng tôi muốn nó được 26.
Taslim Oseni

Có, tôi cũng muốn có 26. giải pháp nào @TaslimOseni
Vigneswaran A

1
@VigneswaranA, cuối cùng tôi đã phải gắn bó với 28 và do đó cập nhật tất cả các phụ thuộc khác của tôi. Tôi không thể tìm thấy một giải pháp.
Taslim Oseni

7

Tôi đã gặp vấn đề tương tự khi thêm API điều hướng hộp bản đồ và đã giải quyết vấn đề này bằng cách đi tới: tệp> cấu trúc dự án, sau đó đặt phiên bản biên dịch sdk và phiên bản công cụ xây dựng thành phiên bản mới nhất. Và đây là ảnh chụp màn hình: cài đặt Ảnh chụp màn hình

Hy vọng nó giúp.


6

Điều này là do việc triển khai compileSdkVersion, buildToolsVersion và Dependecies không khớp nhau. Bạn phải làm như thế này, sau đó tôi có 28 thư viện

compileSdkVersion 28
targetSdkVersion   28
buildToolsVersion  28.0.3
implementation 'com.android.support:design:28.0.0'
implementation 'com.android.support:appcompat-v7:28.0.0'

Nếu chúng tôi Bạn sử dụng Bất kỳ nơi nào ít hơn 28 lỗi này sẽ xảy ra, vì vậy vui lòng thử thư viện đối sánh trong tất cả.


6

Gặp vấn đề tương tự khi làm việc trên một ứng dụng có nhiều mô-đun, hãy kiểm tra để đảm bảo rằng khi bạn tăng giá trị compileSdkVersiontargetSdkVersionđến hơn 28 giá trị trong một mô-đun, bạn cũng làm cho các mô-đun khác.

Một mô-đun đang chạy compileSdkVersion 29targetSdkVersion 29trong khi một mô-đun thứ hai của ứng dụng đang chạy compileSdkVersion 27targetSdkVersion 27.

Việc thay đổi mô-đun thứ hai để biên dịch và nhắm mục tiêu SDK phiên bản 29 đã giải quyết được vấn đề của tôi. Hy vọng điều này sẽ giúp ai đó.


Rất vui vì nó đã giúp bạn.
Opeyemi

5

Có lẽ đã quá muộn nhưng tôi đã tìm ra giải pháp:

Bạn cần phải chỉnh sửa trong build.gradlemột trong hai compileSdkVersion-> để mới nhất (bây giờ nó là 28). Như vậy:

android {
compileSdkVersion 28
defaultConfig {
    applicationId "NAME_OF_YOUR_PROJECT_DIRECTORY"
    minSdkVersion 21
    targetSdkVersion 28
    versionCode 1
    versionName "1.0"
    testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}

hoặc bạn có thể thay đổi phiên bản triển khai:

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    api 'com.android.support:design:27.+'
    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-layout:1.1.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}

4

Đã tìm thấy một plugin gọn gàng để giải quyết vấn đề này: cordova-android-support-gradle-release

plugin cordova thêm cordova-android-support-gradle-release --variable ANDROID_SUPPORT_VERSION = 27. + --save


1

Các phụ thuộc phải được áp dụng như được hiển thị bên dưới để giải quyết vấn đề này:

dependencies {
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
implementation 'com.android.support:support-v4:27.1.0'
implementation 'com.android.support:appcompat-v7:27.1.0'
implementation 'com.android.support:recyclerview-v7:27.1.0'
}

Vui lòng không sử dụng phiên bản của:

v7: 28.0.0-alpha1


1
Nếu bạn sử dụng trình biên dịch SDK 28 và xây dựng các công cụ 28.0.1, bạn có thể.
norbDEV

1

Tôi gặp phải vấn đề tương tự nhưng tôi đã giải quyết thành công vấn đề bằng cách thay đổi phiên bản compileSdkVersion thành phiên bản mới nhất là 29 và thay đổi phiên bản targetSdkVersion thành phiên bản mới nhất là 29.

Đi tới tệp gradile.build và thay đổi compilesdkversion và targetdkversion.


1

trong trường hợp của tôi, tôi đã thử thử File> Invalidate Cache/Restartvà điều đó phù hợp với tôi.


0

Trong trường hợp của tôi, lỗi này xảy ra khi tôi đang sử dụng

implementation 'com.android.support:appcompat-v7:+'
implementation 'com.android.support:design:+'

thư viện cùng với googles

implementation 'com.google.android.material:material-components:+'

thư viện. Nếu đây là trường hợp trong dự án của bạn, tôi thực sự khuyên bạn nên xóa hoàn toàn thư viện thành phần vật liệu của google khỏi dự án của bạn.


0
 buildscript {

    project.ext {
        supportLibVersion = '27.1.1'
        compileVersion = 28
        minSupportedVersion = 22
    }
}

và đặt các phụ thuộc:

implementation "com.android.support:appcompat-v7:$project.supportLibVersion"
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.