ข้อผิดพลาด: ข้อผิดพลาด (9, 5): ไม่พบทรัพยากร android: attr / dialogCornerRadius


118

ดังนั้นฉันจึงติดตั้ง android studio 3.0.1 และทันทีที่มันเปิด gradle ที่สร้างขึ้นและแสดงข้อผิดพลาดต่อไปนี้ ฉันพยายามเพิ่มการอ้างอิงเช่นการออกแบบและการสนับสนุน แต่ไร้ผล มีใครช่วยฉันได้บ้าง ขอบคุณล่วงหน้า. ใส่คำอธิบายภาพที่นี่

แสดงว่าไม่พบคุณลักษณะบางอย่างเช่นการตั้งค่า dialogCornerRadius และ fontVariation


4
ฉันมีcompileSdkVersion 27และcompileSdkVersion 28เปลี่ยนcompileSdkVersionเป็น28แก้ไขปัญหา
Blasanka

คำตอบ:


174

ข้อผิดพลาดนี้เกิดขึ้นเนื่องจาก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'

การใช้เครื่องหมาย + กับไลบรารีทำให้กระบวนการสร้างรวบรวมเวอร์ชันที่ต้องการได้ยากขึ้นทำให้ระบบไม่เสถียรดังนั้นจึงไม่ควรท้อถอย


ฉันต้องอัปเดตหมายเลขเวอร์ชันหลักของ compileSdkVersion ให้เหมือนกับ com.android.support:support-annotations, com.android.support:appcompat-v7, com.android.support:support-v4, com.android.support: design
oddmeter

67

หากคุณย้ายข้อมูลสำหรับ AndroidX และได้รับข้อผิดพลาดนี้คุณต้องตั้งค่า SDK คอมไพล์เป็น Android 9.0 (API ระดับ 28) หรือสูงกว่า


วิธีใดที่จะมี androidX กับ sdkcompiled 27?
ฟิลิป

1
@Phil ก่อนที่คุณจะย้ายข้อมูลโปรดปรับปรุงแอปของคุณให้ทันสมัยอยู่เสมอ ขอแนะนำให้อัปเดตโปรเจ็กต์ของคุณเพื่อใช้ไลบรารีการสนับสนุนเวอร์ชันสุดท้าย: เวอร์ชัน 28.0.0 เนื่องจากสิ่งประดิษฐ์ AndroidX ที่มีเวอร์ชัน 1.0.0 เป็นไบนารีเทียบเท่ากับสิ่งประดิษฐ์ Support Library 28.0.0 แหล่ง ดังนั้นจึงไม่มีตัวเลือกสำหรับ sdk 27 ​​กับ androidX
murgupluoglu

23

ฉันมีปัญหาเดียวกันแน่นอน เธรดต่อไปนี้ช่วยฉันแก้ปัญหาได้ เพียงตั้งค่าเวอร์ชัน Compile SDK ของคุณเป็น Android P.

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

ฉันแก้ไขปัญหานี้โดยเลือก:

API 27+: Android API 27, ตัวอย่าง P (พรีวิว)

ในการตั้งค่าโครงสร้างโครงการ ภาพต่อไปนี้แสดงการตั้งค่าของฉัน ข้อผิดพลาด 13 ข้อที่เกิดขึ้นขณะสร้างแอปหายไป

การตั้งค่า Gradle


3
แจ้งให้ทราบล่วงหน้าคุณไม่จำเป็นต้องกำหนดเป้าหมายเป็น 28 คุณสามารถตั้งค่าcompileSdkVersionและbuildToolsVersionเป็น 28 และปล่อยให้targetSdkVersionเป็นรุ่นที่ต่ำกว่า
Kirill Karmazin

16

ตรวจสอบการอ้างอิงของคุณสำหรับการใช้งาน+ในเวอร์ชัน com.android.support:appcompat-v7:+บางคนอาจจะมีการพึ่งพาการใช้ สิ่งนี้นำไปสู่ปัญหาเมื่อมีการเปิดตัวเวอร์ชันใหม่และอาจทำลายคุณลักษณะต่างๆ

วิธีแก้ปัญหานี้จะใช้com.android.support:appcompat-v7:{compileSdkVersion}.+หรือไม่ใช้+เลยและใช้เวอร์ชันเต็ม (เช่นcom.android.support:appcompat-v7:26.1.0)

หากคุณไม่เห็นบรรทัดในไฟล์ build.gradle ของคุณสำหรับสิ่งนี้ให้เรียกใช้ในเทอร์มินัลสตูดิโอ android เพื่อให้ภาพรวมของการพึ่งพาแต่ละครั้งใช้

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

ใช่ฉันอยากจะอยู่ใน 26. ทางออกใด ๆ @TaslimOseni
Vigneswaran A

1
@VigneswaranA ในที่สุดฉันก็ต้องติด 28 และอัปเดตการอ้างอิงอื่น ๆ ทั้งหมดของฉัน ฉันหาทางออกไม่เจอ
Taslim Oseni

7

ฉันประสบปัญหาเดียวกันในขณะที่เพิ่ม mapbox navigation API และแก้ไขปัญหานี้โดยไปที่: file> project Structure จากนั้นตั้งค่าเวอร์ชันคอมไพล์ sdk และ build tool เป็นเวอร์ชันล่าสุด และนี่คือภาพหน้าจอ: ภาพหน้าจอการตั้งค่า

หวังว่าจะช่วยได้


6

นี่เป็นเพราะการใช้งาน compileSdkVersion, buildToolsVersion และ Dependecies ไม่ตรงกันคุณต้องทำเช่นนี้ฉันมี 28 ไลบรารีแล้ว

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 ข้อผิดพลาดนี้ควรเกิดขึ้นดังนั้นโปรดลองใช้ไลบรารีการจับคู่ทั้งหมด


6

มีปัญหาเดียวกันในขณะที่ทำงานกับแอปพลิเคชันที่มีโมดูลหลายตัวตรวจสอบให้แน่ใจว่าเมื่อคุณเพิ่มค่าcompileSdkVersionและtargetSdkVersionเป็น 28+ ค่าในโมดูลที่คุณทำเพื่อคนอื่น ๆ

โมดูลกำลังวิ่งอยู่บนcompileSdkVersion 29และtargetSdkVersion 29ในขณะที่โมดูลที่สองของการประยุกต์ใช้กำลังวิ่งอยู่บนและ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 เพิ่ม Cordova-android-support-gradle-release --variable ANDROID_SUPPORT_VERSION = 27. + - บันทึก


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 และ targetdkversion



0

ในกรณีของฉันข้อผิดพลาดนี้เกิดขึ้นในขณะที่ฉันใช้ไฟล์

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

ห้องสมุดร่วมกับ googles

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.