Errore: (9, 5) errore: risorsa android: attr / dialogCornerRadius non trovata


118

Quindi ho installato Android Studio 3.0.1 e non appena ha aperto il gradle costruito e ha mostrato i seguenti errori. Ho provato ad aggiungere dipendenze come design e supporto, ma invano. Qualcuno potrebbe aiutarmi? Grazie in anticipo. inserisci qui la descrizione dell'immagine

Mostra che alcuni attributi come dialogCornerRadius e fontVariation Settings non sono stati trovati.


4
Avevo compileSdkVersion 27e compileSdkVersion 28, passando compileSdkVersiona 28, ho risolto il problema.
Blasanka

Risposte:


173

Questo errore si verifica a causa della mancata corrispondenza compileSdkVersione della versione della libreria.

per esempio:

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

ed evita anche di usare il segno + con la libreria come nel seguente:

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

usa la versione esatta della libreria come questa

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

L'uso del segno + con la libreria rende difficile per il processo di creazione raccogliere la versione esatta richiesta, rendendo il sistema instabile, quindi dovrebbe essere scoraggiato.


Ho dovuto aggiornare il mio numero di versione principale di compileSdkVersion in modo che fosse uguale a com.android.support:support-annotations, com.android.support:appcompat-v7, com.android.support:support-v4, com.android.support: design
oddmeter

66

Se viene eseguita la migrazione per AndroidX e viene visualizzato questo errore, è necessario impostare l'SDK di compilazione su Android 9.0 (livello API 28) o superiore


qualche modo per avere androidX con sdkcompiled 27?
Phil

1
@Phil Prima di migrare, aggiorna la tua app. Ti consigliamo di aggiornare il tuo progetto per utilizzare la versione finale della libreria di supporto: versione 28.0.0. Questo perché gli artefatti AndroidX con la versione 1.0.0 sono binari equivalenti agli artefatti 28.0.0 della libreria di supporto. Fonte . Quindi non ci sono opzioni per SDK 27 con androidX
murgupluoglu

23

Ho avuto lo stesso identico problema. Il seguente thread mi ha aiutato a risolverlo. Basta impostare la versione dell'SDK di compilazione su Android P.

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

Ho risolto questo problema selezionando:

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

nelle impostazioni della struttura del progetto. l'immagine seguente mostra le mie impostazioni. I 13 errori che stavano arrivando durante la creazione dell'app sono scomparsi.

Impostazioni Gradle


3
nota , non devi TARGETARLO a 28, puoi semplicemente impostare compileSdkVersione buildToolsVersiona 28 e lasciare la tua targetSdkVersiona una versione inferiore
Kirill Karmazin

16

Controlla le tue dipendenze per gli usi di +nelle versioni. Potrebbe essere utilizzata una certa dipendenza com.android.support:appcompat-v7:+. Ciò porta a problemi quando viene rilasciata una nuova versione e potrebbe rompere le funzionalità.

La soluzione per questo sarebbe usare com.android.support:appcompat-v7:{compileSdkVersion}.+o non usare +affatto e utilizzare la versione completa (es. com.android.support:appcompat-v7:26.1.0).

Se non riesci a vedere una riga nei tuoi file build.gradle per questo, esegui nel terminale di Android Studio per dare una panoramica di ciò che utilizza ciascuna dipendenza

gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath (includi le dipendenze di androidtest)

O

gradlew -q dependencies app:dependencies --configuration debugCompileClasspath (dipendenze regolari per il debug)

che si traduce in qualcosa che si avvicina a questo

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

Se non hai il controllo sulla modifica della versione, prova a costringerla a utilizzare una versione specifica.

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

La dipendenza dalla forza potrebbe dover essere diversa a seconda di ciò che viene impostato su 28.0.0


9

prova a cambiare compileSdkVersion in: compileSdkVersion 28


3
Ma voglio che sia il 26.
Taslim Oseni,

Sì, voglio anche essere in 26. any solution @TaslimOseni
Vigneswaran A

1
@VigneswaranA, alla fine ho dovuto attenermi a 28 e quindi aggiornare tutte le mie altre dipendenze. Non sono riuscito a trovare una soluzione.
Taslim Oseni

7

Ho riscontrato lo stesso problema durante l'aggiunta di un'API di navigazione mapbox e ho risolto il problema andando su: file> struttura del progetto e quindi impostando la versione sdk di compilazione e la versione dello strumento di compilazione all'ultima. Ed ecco lo screenshot: Impostazioni Screenshot

Spero che sia d'aiuto.


6

Questo perché le implementazioni compileSdkVersion, buildToolsVersion e Dependecies non corrispondono Devi fare così ho 28 librerie allora

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'

Se si utilizza Any in cui si è verificato un errore inferiore a 28, quindi provare a combinare la libreria in tutto.


6

Ha avuto lo stesso problema mentre si lavorava su un'applicazione con diversi moduli, controllare per assicurarsi che aumentando i valori compileSdkVersione targetSdkVersionfino a 28+ in un modulo si faccia anche per gli altri.

Un modulo era in esecuzione compileSdkVersion 29e targetSdkVersion 29mentre un secondo modulo dell'applicazione era in esecuzione su compileSdkVersion 27e targetSdkVersion 27.

La modifica del secondo modulo per la compilazione e la destinazione dell'SDK versione 29 ha risolto il mio problema. Spero che questo aiuti qualcuno.


Sono contento che ti abbia aiutato.
Opeyemi

5

Forse è troppo tardi ma ho trovato una soluzione:

Si deve modificare in build.gradleentrambi il compileSdkVersion-> per lastest (ora è 28). Come quello:

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

oppure puoi modificare la versione dell'implementazione:

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

Trovato un plug-in pulito per risolvere questo problema: cordova-android-support-gradle-release

plugin cordova aggiungi cordova-android-support-gradle-release --variable ANDROID_SUPPORT_VERSION = 27. + --salva


1

Le dipendenze devono essere applicate come mostrato di seguito per risolvere questo problema:

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

Si prega di non utilizzare la versione di:

v7: 28.0.0-alfa1


1
Se usi l'SDK di compilazione 28 e gli strumenti di compilazione 28.0.1 puoi farlo.
norbDEV

1

Ho affrontato lo stesso problema ma ho risolto con successo il problema cambiando la versione di compileSdkVersion all'ultima che è 29 e cambia la versione di targetSdkVersion all'ultima che è 29.

Vai al file gradile.build e cambia compilesdkversion e targetdkversion.


1

nel mio caso, provo provato File> Invalidate Cache/Restarte per me funziona.


0

Nel mio caso, questo errore si è verificato mentre stavo usando il

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

biblioteche insieme a Google

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

biblioteca. Se questo è il caso del tuo progetto, ti consiglio vivamente di rimuovere completamente la libreria dei componenti dei materiali di Google dal tuo progetto.


0
 buildscript {

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

e imposta le dipendenze:

implementation "com.android.support:appcompat-v7:$project.supportLibVersion"
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.