Fehler: (9, 5) Fehler: Ressource Android: attr / dialogCornerRadius nicht gefunden

118

Also habe ich Android Studio 3.0.1 installiert und sobald es geöffnet wurde, baute der Gradle und zeigte die folgenden Fehler. Ich habe versucht, Abhängigkeiten wie Design und Support hinzuzufügen, aber vergebens. Könnte mir jemand helfen? Vielen Dank im Voraus. Geben Sie hier die Bildbeschreibung ein

Es zeigt, dass einige Attribute wie dialogCornerRadius und fontVariation Settings nicht gefunden wurden.

Dipti Belurgikar
quelle
4
Ich hatte compileSdkVersion 27und compileSdkVersion 28, Wechsel compileSdkVersionzu 28, das Problem gelöst.
Blasanka

Antworten:

173

Dieser Fehler tritt aufgrund einer nicht übereinstimmenden compileSdkVersionund Bibliotheksversion auf.

beispielsweise:

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

und vermeiden Sie es auch, + sign mit der Bibliothek wie folgt zu verwenden:

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

Verwenden Sie genau diese Bibliotheksversion

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

Die Verwendung von + sign mit der Bibliothek erschwert es dem Erstellungsprozess, die genaue erforderliche Version zu erfassen, wodurch das System instabil wird. Daher sollte davon abgeraten werden.

Sheharyar Ejaz
quelle
Ich musste meine compileSdkVersion-Hauptversionsnummer so aktualisieren, dass sie mit com.android.support:support-annotations, com.android.support:appcompat-v7, com.android.support:support-v4, com.android.support übereinstimmt: Design
Oddmeter
66

Wenn Sie für AndroidX migriert sind und diesen Fehler erhalten, müssen Sie das Kompilierungs-SDK auf Android 9.0 (API-Stufe 28) oder höher einstellen

murgupluoglu
quelle
Gibt es eine Möglichkeit, AndroidX mit SDK-kompilierten 27 zu haben?
Phil
1
@Phil Bringen Sie Ihre App vor der Migration auf den neuesten Stand. Wir empfehlen, Ihr Projekt zu aktualisieren, um die endgültige Version der Support-Bibliothek zu verwenden: Version 28.0.0. Dies liegt daran, dass AndroidX-Artefakte mit Version 1.0.0 binär äquivalent zu den Artefakten der Support Library 28.0.0 sind. Quelle . Es gibt also keine Optionen für SDK 27 mit AndroidX
Murgupluoglu
23

Ich hatte genau das gleiche Problem. Der folgende Thread hat mir geholfen, das Problem zu lösen. Stellen Sie einfach Ihre Compile SDK-Version auf Android P ein.

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

Ich habe dieses Problem behoben, indem ich Folgendes ausgewählt habe:

API 27+: Android API 27, P Vorschau (Vorschau)

in den Projektstruktureinstellungen. Das folgende Bild zeigt meine Einstellungen. Die 13 Fehler, die beim Erstellen der App aufgetreten sind, sind verschwunden.

Gradle-Einstellungen

Adnan Mulla
quelle
3
Ankündigung , Sie müssen es 28 bis nicht TARGET, können Sie einfach eingestellt compileSdkVersionund buildToolsVersionauf 28 und lassen Sie targetSdkVersionbei einer niedrigeren Version
Kirill Karmazin
16

Überprüfen Sie Ihre Abhängigkeiten auf Verwendungen +in den Versionen. Einige Abhängigkeiten könnten verwendet werden com.android.support:appcompat-v7:+. Dies führt zu Problemen, wenn eine neue Version veröffentlicht wird, und kann zu Funktionsstörungen führen.

Die Lösung hierfür wäre, entweder zu verwenden com.android.support:appcompat-v7:{compileSdkVersion}.+oder überhaupt nicht zu verwenden +und die Vollversion (z. B. com.android.support:appcompat-v7:26.1.0) zu verwenden.

Wenn Sie in Ihren build.gradle-Dateien keine Zeile dafür sehen können, führen Sie sie im Android Studio-Terminal aus, um einen Überblick über die Verwendung der einzelnen Abhängigkeiten zu erhalten

gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath (einschließlich Android-Test-Abhängigkeiten)

ODER

gradlew -q dependencies app:dependencies --configuration debugCompileClasspath (regelmäßige Abhängigkeiten für das Debuggen)

was zu etwas führt, das dem nahe kommt

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

Wenn Sie keine Kontrolle über das Ändern der Version haben, versuchen Sie, die Verwendung einer bestimmten Version zu erzwingen.

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

Die Kraftabhängigkeit muss möglicherweise unterschiedlich sein, je nachdem, was auf 28.0.0 eingestellt ist

btelman96
quelle
9

Versuchen Sie, die compileSdkVersion in Folgendes zu ändern: compileSdkVersion 28

Estevão Lucas
quelle
3
Aber ich möchte, dass es 26 ist.
Taslim Oseni
Ja, ich möchte auch in 26. jeder Lösung sein @TaslimOseni
Vigneswaran A
1
@VigneswaranA, ich musste mich schließlich an 28 halten und somit alle meine anderen Abhängigkeiten aktualisieren. Ich konnte keine Lösung finden.
Taslim Oseni
7

Ich hatte das gleiche Problem beim Hinzufügen einer Mapbox-Navigations-API und habe dieses Problem behoben, indem ich zu: Datei> Projektstruktur gegangen bin und dann die Version des Kompilierungs-SDK und die Build-Tool-Version auf den neuesten Stand gebracht habe. Und hier ist der Screenshot: Einstellungen Screenshot

Ich hoffe es hilft.

Haroon Khan
quelle
6

Dies liegt daran, dass die Implementierungen von compileSdkVersion, buildToolsVersion und Dependecies nicht übereinstimmen. Sie müssen dies tun. Ich habe dann 28 Bibliotheken

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'

Wenn wir Sie verwenden, bei denen weniger als 28 dieser Fehler auftreten sollte, versuchen Sie es bitte mit der gesamten Match-Bibliothek.

Sahil Choudhary
quelle
6

Hatte das gleiche Problem , während auf einer Anwendung mit mehreren Modulen arbeiten, überprüfen Sie, wie Sie die erhöhen compileSdkVersionund targetSdkVersionzu 28+ Werte in einem Modul , das Sie auch für die anderen tun.

Ein Modul wurde ausgeführt compileSdkVersion 29und targetSdkVersion 29während ein zweites Modul der Anwendung ausgeführt wurde compileSdkVersion 27und targetSdkVersion 27.

Das Ändern des zweiten Moduls zum Kompilieren und Zielen von SDK Version 29 hat mein Problem behoben. Hoffe das hilft jemandem.

Opeyemi
quelle
Ich bin froh, dass es dir geholfen hat.
Opeyemi
5

Vielleicht ist es zu spät, aber ich habe eine Lösung gefunden:

Sie müssen build.gradleentweder das compileSdkVersion-> bis zum letzten bearbeiten (jetzt ist es 28). So wie das:

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

oder Sie können die Version der Implementierung ändern:

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'
}
Indigo0087
quelle
4

Ich habe ein nettes Plugin gefunden, um dieses Problem zu lösen: Cordova-Android-Support-Gradle-Release

Cordova Plugin Cordova-Android-Support-Gradle-Release hinzufügen - Variable ANDROID_SUPPORT_VERSION = 27. + --save

zi88
quelle
1

Die Abhängigkeiten müssen wie unten gezeigt angewendet werden, um dieses Problem zu lösen:

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

Bitte verwenden Sie nicht die Version von:

v7: 28.0.0-alpha1

Sanche
quelle
1
Wenn Sie das SDK 28 kompilieren und die Tools 28.0.1 erstellen, können Sie dies tun.
NorbDEV
1

Ich hatte das gleiche Problem, aber ich habe das Problem erfolgreich gelöst, indem ich die Version von compileSdkVersion auf die neueste Version (29) und die Version von targetSdkVersion auf die neueste Version (29) geändert habe.

Gehen Sie zur Datei gradile.build und ändern Sie die Dateien compilesdkversion und targetdkversion.

Hadayat ullah
quelle
1

In meinem Fall versuche ich es mit File> Invalidate Cache/Restartund das funktioniert bei mir.

Rohit Mandiwal
quelle
0

In meinem Fall trat dieser Fehler auf, während ich das verwendete

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

Bibliotheken zusammen mit Googles

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

Bibliothek. Wenn dies in Ihrem Projekt der Fall ist, empfehle ich dringend, die Google-Materialkomponentenbibliothek vollständig aus Ihrem Projekt zu entfernen.

laim2003
quelle
0
 buildscript {

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

und Abhängigkeiten setzen:

implementation "com.android.support:appcompat-v7:$project.supportLibVersion"
Virales Patel
quelle