Ошибка: (9, 5) ошибка: ресурс android: attr / dialogCornerRadius не найден


118

Итак, я установил android studio 3.0.1, и как только он открыл Gradle, построил и показал следующие ошибки. Я пытался добавить такие зависимости, как дизайн и поддержка, но тщетно. Кто-нибудь может мне помочь? Заранее спасибо. введите описание изображения здесь

Он показывает, что некоторые атрибуты, такие как dialogCornerRadius и fontVariation Settings, не найдены.


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 в двоичном виде эквивалентны артефактам библиотеки поддержки 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на более низком уровне
Кирилл Кармазин

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.
Таслим Осени

Да, я тоже хочу быть в 26. Любое решение @TaslimOseni
Vigneswaran A

1
@VigneswaranA, мне в конце концов пришлось придерживаться 28 и, таким образом, обновить все мои другие зависимости. Я не мог найти решения.
Таслим Осени

7

У меня была такая же проблема при добавлении API навигации mapbox, и я решил эту проблему, перейдя в: файл> Структура проекта, а затем установив версию компиляции sdk и версию инструмента сборки на последнюю. А вот скриншот: настройки Скриншот

Надеюсь, поможет.


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'

Если вы используете Any, где меньше 28, эта ошибка должна возникнуть, поэтому попробуйте сопоставить библиотеку во всех.


6

Возникла такая же проблема при работе над приложением с несколькими модулями, проверьте, увеличивая ли значения compileSdkVersionи targetSdkVersionдо 28+ в модуле, вы также делаете это для других.

Модуль работал, compileSdkVersion 29а targetSdkVersion 29второй модуль приложения работал на compileSdkVersion 27и targetSdkVersion 27.

Изменение второго модуля для компиляции и целевой версии SDK 29 решило мою проблему. Надеюсь, это кому-то поможет.


Рад, что помог тебе.
Опейеми

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. + --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-альфа1


1
Если вы используете компиляцию SDK 28 и инструменты сборки 28.0.1, вы можете.
norbDEV 02

1

Я столкнулся с той же проблемой, но я успешно решил проблему, изменив версию compileSdkVersion на самую последнюю, которая составляет 29, и изменил версию targetSdkVersion на последнюю, которая составляет 29.

Перейдите в файл gradile.build и измените compilesdkversion и targetdkversion.



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"
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.