Błąd: (9, 5) błąd: nie znaleziono zasobu android: attr / dialogCornerRadius


118

Więc zainstalowałem Android Studio 3.0.1 i jak tylko otworzyłem gradle zbudowałem i pokazałem następujące błędy. Próbowałem dodać zależności, takie jak projekt i wsparcie, ale na próżno. Czy ktoś mógłby mi pomóc? Z góry dziękuję. wprowadź opis obrazu tutaj

Pokazuje, że nie znaleziono niektórych atrybutów, takich jak dialogCornerRadius i fontVariation Settings.


4
Miałem compileSdkVersion 27i compileSdkVersion 28zmieniając compileSdkVersionsię 28, rozwiązałem problem.
Blasanka

Odpowiedzi:


173

Ten błąd występuje z powodu niezgodności compileSdkVersioni wersji biblioteki.

na przykład:

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

a także unikaj używania znaku + z biblioteką, jak w poniższym przykładzie:

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

użyj dokładnej wersji biblioteki, takiej jak ta

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

Używanie znaku + z biblioteką utrudnia procesowi budowania zebranie dokładnej wymaganej wersji, co powoduje niestabilność systemu, dlatego należy go odradzać.


Musiałem zaktualizować mój główny numer wersji compileSdkVersion, aby był taki sam, jak com.android.support:support-annotations, com.android.support:appcompat-v7, com.android.support:support-v4, com.android.support: projekt
oddmeter

66

Jeśli jesteś migrowany do AndroidX i otrzymujesz ten błąd, musisz ustawić kompilację SDK na Androida 9.0 (poziom API 28) lub nowszy


jakikolwiek sposób, aby mieć AndroidX z sdkcompiled 27?
Phil

1
@Phil Przed migracją zaktualizuj swoją aplikację. Zalecamy zaktualizowanie projektu, aby korzystał z ostatecznej wersji biblioteki wsparcia: wersja 28.0.0. Dzieje się tak, ponieważ artefakty systemu AndroidX w wersji 1.0.0 są binarnymi odpowiednikami artefaktów Support Library 28.0.0. Źródło . Nie ma więc opcji dla sdk 27 ​​z androidX
murgupluoglu

23

Miałem dokładnie ten sam problem. Poniższy wątek pomógł mi go rozwiązać. Po prostu ustaw wersję Compile SDK na Android P.

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

Rozwiązałem ten problem, wybierając:

API 27+: Android API 27, P Preview (wersja zapoznawcza)

w ustawieniach struktury projektu. Poniższy obraz przedstawia moje ustawienia. 13 błędów, które pojawiały się podczas tworzenia aplikacji, zniknęło.

Gradle settings


3
zauważ , nie musisz CELOWAĆ na 28, możesz po prostu ustawić compileSdkVersioni buildToolsVersionna 28 i zostawić swoją targetSdkVersionniższą wersję
Kirill Karmazin

16

Sprawdź zależności pod kątem zastosowań +w wersjach. Może być używana pewna zależność com.android.support:appcompat-v7:+. Prowadzi to do problemów, gdy zostanie wydana nowa wersja i może zepsuć funkcje.

Rozwiązaniem byłoby użycie com.android.support:appcompat-v7:{compileSdkVersion}.+lub +w ogóle nieużywanie i użycie pełnej wersji (np. com.android.support:appcompat-v7:26.1.0).

Jeśli nie widzisz odpowiedniej linii w plikach build.gradle, uruchom w terminalu Android Studio, aby uzyskać przegląd tego, czego używa każda zależność

gradlew -q dependencies app:dependencies --configuration debugAndroidTestCompileClasspath (uwzględnij zależności androidtest)

LUB

gradlew -q dependencies app:dependencies --configuration debugCompileClasspath (regularne zależności do debugowania)

co prowadzi do czegoś, co wydaje się bliskie temu

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

Jeśli nie masz kontroli nad zmianą wersji, spróbuj wymusić użycie określonej wersji.

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

Zależność siły może być różna w zależności od tego, co jest ustawione na 28.0.0


9

spróbuj zmienić compileSdkVersion na: compileSdkVersion 28


3
Ale chcę, żeby to było 26.
Taslim Oseni,

Tak, też chcę być w 26. dowolne rozwiązanie @TaslimOseni
Vigneswaran A

1
@VigneswaranA, ostatecznie musiałem trzymać się 28, a tym samym zaktualizować wszystkie moje inne zależności. Nie mogłem znaleźć rozwiązania.
Taslim Oseni

7

Miałem ten sam problem podczas dodawania interfejsu API nawigacji mapbox i rozwiązałem ten problem, przechodząc do: plik> Struktura projektu, a następnie ustawiając wersję kompilacji sdk i wersję narzędzia kompilacji na najnowszą. A oto zrzut ekranu: ustawienia Zrzut ekranu

Mam nadzieję, że to pomoże.


6

Dzieje się tak dlatego, że implementacje compileSdkVersion, buildToolsVersion i Dependecies nie pasują do siebie Musisz zrobić tak, mam 28 bibliotek

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'

Jeśli używasz Any, gdzie mniej niż 28, ten błąd powinien wystąpić, więc spróbuj dopasować bibliotekę we wszystkich.


6

Ten sam problem wystąpił podczas pracy nad aplikacją z kilkoma modułami, sprawdź, czy zwiększając wartości compileSdkVersioni targetSdkVersiondo 28+ w jednym module, robisz również dla innych.

Moduł działał na compileSdkVersion 29i targetSdkVersion 29podczas gdy drugi moduł aplikacji był uruchomiony na compileSdkVersion 27i targetSdkVersion 27.

Zmiana drugiego modułu tak, aby również kompilował i docelowo SDK w wersji 29 rozwiązała mój problem. Mam nadzieję, że to komuś pomoże.


Cieszę się, że ci pomogło.
Opeyemi

5

Może już za późno, ale znalazłem rozwiązanie:

Musisz edytować w build.gradlealbo compileSdkVersion-> do ostatniego (teraz jest to 28). Tak:

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

lub możesz zmienić wersję realizacji:

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

Znalazłem zgrabną wtyczkę, która rozwiązuje ten problem: cordova-android-support-gradle-release

wtyczka cordova dodaj cordova-android-support-gradle-release --variable ANDROID_SUPPORT_VERSION = 27. + --save


1

Aby rozwiązać ten problem, należy zastosować zależności, jak pokazano poniżej:

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

Prosimy nie używać wersji:

v7: 28.0.0-alpha1


1
Jeśli używasz kompilacji SDK 28 i narzędzi do tworzenia 28.0.1, możesz.
norbDEV

1

Napotkałem ten sam problem, ale pomyślnie go rozwiązałem, zmieniając wersję compileSdkVersion na najnowszą, czyli 29, i zmieniając wersję targetSdkVersion na najnowszą, czyli 29.

Przejdź do pliku gradile.build i zmień wersję compilesdkversion i targetdkversion.



0

W moim przypadku ten błąd wystąpił podczas korzystania z

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

biblioteki wraz z googlami

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

biblioteka. Jeśli tak jest w Twoim projekcie, zdecydowanie polecam całkowite usunięcie biblioteki komponentów materiałów Google z projektu.


0
 buildscript {

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

i ustaw zależności:

implementation "com.android.support:appcompat-v7:$project.supportLibVersion"
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.