Ошибка: (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) или выше.

murgupluoglu
источник
есть ли способ получить 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.

btelman96
источник
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 решило мою проблему. Надеюсь, это кому-то поможет.

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'
}
Indigo0087
источник
4

Нашел отличный плагин для решения этой проблемы: cordova-android-support-gradle-release

плагин cordova добавить cordova-android-support-gradle-release --variable ANDROID_SUPPORT_VERSION = 27. + --save

zi88
источник
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

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

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

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

Хадаят уллах
источник
1

в моем случае я попробовал попробовать File> Invalidate Cache/Restartи это работает для меня.

Рохит Мандивал
источник
0

В моем случае эта ошибка возникла, когда я использовал

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

библиотеки вместе с гуглами

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

библиотека. Если это так в вашем проекте, я настоятельно рекомендую полностью удалить библиотеку компонентов материалов Google из вашего проекта.

laim2003
источник
0
 buildscript {

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

и установите зависимости:

implementation "com.android.support:appcompat-v7:$project.supportLibVersion"
Вирал Патель
источник