Error : (9, 5) error : resource android : attr / dialogCornerRadius not found


118

그래서 나는 android studio 3.0.1을 설치했고 그것이 gradle을 열 자마자 다음과 같은 오류를 보여주었습니다. 디자인 및 지원과 같은 종속성을 추가하려고 시도했지만 헛된 것입니다. 누군가 나를 도울 수 있습니까? 미리 감사드립니다. 여기에 이미지 설명 입력

dialogCornerRadius 및 fontVariation Settings와 같은 일부 속성을 찾을 수 없음을 보여줍니다.


4
나는했다 compileSdkVersion 27compileSdkVersion 28변경 compileSdkVersion28문제를 해결.
Blasanka

답변:


173

이 오류는 일치하지 않는 compileSdkVersion라이브러리 버전으로 인해 발생합니다 .

예를 들면 :

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

또한 다음과 같이 라이브러리와 함께 + 기호를 사용하지 마십시오.

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

이와 같은 정확한 라이브러리 버전을 사용하십시오.

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

라이브러리에 + 기호를 사용하면 빌드 프로세스에서 필요한 정확한 버전을 수집하기가 어려워 시스템이 불안정 해 지므로 권장하지 않습니다.


com.android.support:support-annotations, com.android.support:appcompat-v7, com.android.support:support-v4, com.android.support와 동일하게 compileSdkVersion 주 버전 번호를 업데이트해야했습니다. 디자인
oddmeter 19

66

AndroidX 용으로 마이그레이션되고이 오류가 발생하는 경우 컴파일 SDK를 Android 9.0 (API 레벨 28) 이상으로 설정해야합니다.


sdkcompiled 27로 androidX를 사용하는 방법은 무엇입니까?
Phil

1
@Phil 마이그레이션하기 전에 앱을 최신 상태로 유지하십시오. 지원 라이브러리의 최종 버전 인 버전 28.0.0을 사용하도록 프로젝트를 업데이트하는 것이 좋습니다. 버전 1.0.0의 AndroidX 아티팩트는 지원 라이브러리 28.0.0 아티팩트와 동일한 바이너리이기 때문입니다. 소스 . 따라서 androidX에는 sdk 27에 대한 옵션이 없습니다
murgupluoglu

23

나는 똑같은 문제가 있었다. 다음 스레드가 문제를 해결하는 데 도움이되었습니다. Compile SDK 버전을 Android P로 설정하기 만하면됩니다.

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

다음을 선택하여이 문제를 해결했습니다.

API 27+ : Android API 27, P 미리보기 (미리보기)

프로젝트 구조 설정에서. 다음 이미지는 내 설정을 보여줍니다. 앱을 빌드하는 동안 발생한 13 개의 오류가 사라졌습니다.

Gradle 설정


3
통지 , 당신은 당신이 바로 설정할 수 있습니다 (28)에 대상에없는 compileSdkVersionbuildToolsVersion28과를두고 targetSdkVersion낮은 버전에서
키릴 Karmazin에

16

+버전에서의 사용에 대한 종속성을 확인하십시오 . 일부 종속성은 com.android.support:appcompat-v7:+. 이로 인해 새 버전이 출시 될 때 문제가 발생하고 기능이 손상 될 수 있습니다.

이에 대한 해결책은 사용 com.android.support:appcompat-v7:{compileSdkVersion}.+하거나 전혀 사용하지 않고 +정식 버전 (예 :)을 사용하는 것 com.android.support:appcompat-v7:26.1.0입니다.

이에 대한 build.gradle 파일에 줄이 표시되지 않으면 android studio 터미널에서 실행하여 각 종속성이 사용하는 개요를 제공하십시오.

gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath (androidtest 종속성 포함)

또는

gradlew -q dependencies app:dependencies --configuration debugCompileClasspath (디버그에 대한 일반적인 종속성)

결과적으로 이것에 가깝게 보이는

------------------------------------------------------------
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)

버전 변경을 제어 할 수없는 경우 특정 버전을 사용하도록 강제하십시오.

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

강제 종속성은 28.0.0으로 설정되는 항목에 따라 달라야 할 수 있습니다.


9

compileSdkVersion을 다음과 같이 변경하십시오. compileSdkVersion 28


3
하지만 26이 되길 원합니다.
Taslim Oseni 19. 9. 24.

네, 또한 26에 있고 싶습니다. 모든 솔루션 @TaslimOseni
Vigneswaran A

1
@VigneswaranA, 결국 28을 고수해야했고 다른 모든 종속성을 업데이트해야했습니다. 해결책을 찾을 수 없습니다.
Taslim Oseni

7

mapbox 탐색 API를 추가하는 동안 동일한 문제가 발생했으며 file> project Structure로 이동 한 다음 컴파일 sdk 버전 및 빌드 도구 버전을 최신으로 설정하여이 문제를 해결했습니다. 다음은 스크린 샷입니다. 설정 스크린 샷

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


6

이것은 compileSdkVersion, buildToolsVersion 및 Dependecies 구현이 일치하지 않기 때문입니다.

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'

28 미만인 곳에서 Any를 사용하는 경우이 오류가 발생해야하므로 모두 일치 라이브러리를 시도하십시오.


6

여러 모듈이있는 응용 프로그램에서 작업하는 동안 동일한 문제가 발생 했으므로 다른 모듈에 대해서도 수행하는 모듈에서 compileSdkVersiontargetSdkVersion값을 28+로 늘릴 때 확인하십시오 .

모듈은 실행 하였다 compileSdkVersion 29targetSdkVersion 29어플리케이션의 제 2 모듈이 실행되는 동안 compileSdkVersion 27targetSdkVersion 27.

두 번째 모듈을 SDK 버전 29로 컴파일하고 대상으로 변경하면 문제가 해결되었습니다. 이것이 누군가를 돕기를 바랍니다.


도움이되었다 니 다행입니다.
Opeyemi

5

어쩌면 너무 늦었지만 해결책을 찾았습니다.

마지막으로-> build.gradle중 하나 를 편집해야합니다 compileSdkVersion(현재 28). 그렇게 :

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

또는 구현 버전을 변경할 수 있습니다.

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

이를 해결하기 위해 깔끔한 플러그인을 찾았습니다 : cordova-android-support-gradle-release

cordova 플러그인 add cordova-android-support-gradle-release --variable ANDROID_SUPPORT_VERSION = 27. + --save


1

이 문제를 해결하려면 아래 표시된대로 종속성을 적용해야합니다.

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'
}

의 버전을 사용하지 마십시오.

v7 : 28.0.0-alpha1


1
컴파일 SDK 28과 빌드 도구 28.0.1을 사용하면 가능합니다.
norbDEV

1

나는 같은 문제에 직면했지만 compileSdkVersion의 버전을 29 인 최신 버전으로 변경하고 targetSdkVersion의 버전을 29 인 최신 버전으로 변경하여 문제를 성공적으로 해결했습니다.

gradile.build 파일로 이동하여 compilesdkversion 및 targetsdkversion을 변경합니다.



0

제 경우에는이 오류가

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

구글과 함께 라이브러리

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

도서관. 이 경우 프로젝트에서 Google 머티리얼 컴포넌트 라이브러리를 완전히 제거하는 것이 좋습니다.


0
 buildscript {

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

종속성을 설정하십시오.

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