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

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

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

У меня были compileSdkVersion 27 и compileSdkVersion 28, замена compileSdkVersion на 28 решила проблему.

Blasanka 06.12.2019 05:42
142
1
143 189
17

Ответы 17

Проверьте свои зависимости для использования + в версиях. Некоторая зависимость могла быть с использованием 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.

bash: gradlew: command not found Есть предложения, где его найти?
John Perry 30.08.2020 05:47

Ах, сам нашел. Забавно, что в Linux вы часто не можете выполнить команду в текущем каталоге, не предваряя ее ./, поэтому: ./gradlew и т. д.

John Perry 30.08.2020 05:56

Для решения этой проблемы необходимо применить зависимости, как показано ниже:

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

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

norbDEV 02.08.2018 13:06

У меня была такая же проблема. Следующая ветка помогла мне решить эту проблему. Просто установите версию Compile SDK для Android P.

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

I fixed this issue by selecting:

API 27+: Android API 27, P preview (Preview)

in the project structure settings. the following image shows my settings. The 13 errors that were coming while building the app, have disappeared.

Gradle settings

уведомление, вам не нужно НАЗНАЧАТЬ его на 28, вы можете просто установить compileSdkVersion и buildToolsVersion на 28 и оставить свой targetSdkVersion с более низкой версией
Kirill Karmazin 13.02.2019 17:12

Эта ошибка возникает из-за несоответствия 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: дизайн

oddmeter 17.01.2019 23:36

Это было решение в моем случае

Zurmati 01.01.2021 05:45

Может, уже поздно, но я нашел решение:

Вы должны отредактировать в 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'
}

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

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

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

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

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

Если вы переходите на AndroidX и получаете эту ошибку, вам необходимо установить SDK компиляции на Android 9.0 (уровень API 28) или выше.

есть ли способ иметь androidX с sdkcompiled 27?

Phil 12.01.2020 05:26

@Phil Перед миграцией обновите свое приложение. Мы рекомендуем обновить ваш проект, чтобы использовать последнюю версию библиотеки поддержки: версия 28.0.0. Это связано с тем, что артефакты AndroidX с версией 1.0.0 являются двоичным эквивалентом артефактов библиотеки поддержки 28.0.0.Источник. Так что нет вариантов sdk 27 ​​с androidX

murgupluoglu 12.01.2020 10:51

Это связано с тем, что реализации compileSdkVersion, buildToolsVersion и зависимостей не совпадают Вы должны сделать вот так, у меня есть 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, эта ошибка должна возникнуть, поэтому попробуйте сопоставить библиотеку во всех.

 buildscript {

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

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

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

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

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

попробуйте изменить compileSdkVersion на: compileSdkVersion 28

Но я хочу, чтобы было 26.

Taslim Oseni 24.09.2019 02:22

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

Vigneswaran A 24.03.2020 10:14

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

Taslim Oseni 05.04.2020 20:29

Нашел отличный плагин, чтобы решить эту проблему: Кордова-андроид-поддержка-Gradle-релиз

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

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

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

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

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

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

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

Opeyemi 15.05.2020 08:54

Ага. Требуется повысить уровень лицензирования LVL, спасибо за это.

Oded 16.02.2021 06:08

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

В моем случае я получал эту ошибку в AndroidStudio 4.1.1 при обновлении compileSdkVersion до 29.

Если у вас есть зависимый проект в build.gradle, все, что вам нужно сделать, это также обновить тот же compileSdkVersion в build.gradle зависимого проекта.

Шаги:

  1. Щелкните папку своего приложения в представлении «Проект» в AndroidStudio.
  2. Выберите Открыть настройки модуля.
  3. В структуре проекта >> Проверьте, сколько там модулей?
  4. Если модулей несколько, вам также необходимо обновить зависимости compileSdkVersion, buildToolsVersion и Project.

Это сработало для меня :)

Обновите их из проекта build.gradle

classpath 'com.android.tools.build:gradle:4.0.1'

classpath 'com.google.gms: google-services: 4.3.4'

и обновление из приложения build.gradle

compileSdkVersion = 30

buildToolsVersion = '29 .0,3 '

targetSdkVersion = 29

последнее обновление gradle от gradle-wrapper.properties

distributionUrl = https: //services.gradle.org/distributions/gradle-6.1.1-all.zip

Другие вопросы по теме