错误: (9,5) Error: resource android: attr/dialogCornerRadius not found

所以我安装了 android 工作室3.0.1,一打开 gradle 就显示了以下错误。我尝试添加依赖项,如设计和支持,但徒劳无功。有人能帮帮我吗? 先谢谢你。 enter image description here

它显示某些属性(如 dialogCornerRadius 和 fontVariationSettings)没有找到。

169025 次浏览

检查在版本中使用 +的依赖关系。一些依赖项可以使用 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的内容而有所不同

为了解决这个问题,必须采用下列依赖关系:

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

我也有同样的问题。下面的线程帮助我解决了这个问题。只需将您的 CompileSDK 版本设置为 AndroidP。

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

我通过选择以下内容解决了这个问题:

API 27 + : Android API 27,P 预览(预览)

在项目结构设置中 在构建应用程序时出现的13个错误 消失了。

Gradle settings

发生此错误是因为 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'

在库中使用 + 符号会使构建过程难以收集所需的确切版本,从而使系统不稳定,因此应该避免使用 + 符号。

也许太晚了,但我找到了解决办法:

你必须在 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:+'

图书馆。如果这是在您的项目的情况下,我强烈建议完全删除谷歌材料组件库从您的项目。

如果您为 AndroidX 迁移并得到此错误,则需要将编译 SDK 设置为 Android 9.0(API 级别28)或更高

这是因为编译 SdkVersion、 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'

如果我们您使用任何地方小于28这个错误应该发生,所以请尝试匹配库在所有。

 buildscript {


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

并设置依赖项:

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

我在添加 mapbox 导航 API 时遇到了同样的问题,通过执行以下命令解决了这个问题: file > project Architecture,然后将编译 sdk 版本和构建工具版本设置为最新版本。 这是截图: settings Screenshot

希望能有帮助。

尝试将 buildeSdkVersion 更改为: compileSdkVersion 28

找到了一个简洁的插件来解决这个问题: 科尔多瓦-机器人-支持-梯级释放

Cordova 插件添加 cordova-ANDROID-support-gradle-release ——变量 ANDROID _ SUPPORT _ VERION = 27. + —— save

我也遇到了同样的问题,但是我成功地解决了这个问题,我将 compileSdkVersion 的版本更改为最新的版本,即29,并将 targetSdkVersion 的版本更改为最新的版本,即29。

转到 gradile.build 文件并更改 buildesdkversion 和 targetsdkversion。

在处理具有多个模块的应用程序时遇到了同样的问题,请检查以确保在将模块中的 compileSdkVersiontargetSdkVersion值增加到28 + 时,也为其他模块增加了值。

一个模块在 compileSdkVersion 29targetSdkVersion 29上运行,而应用程序的第二个模块在 compileSdkVersion 27targetSdkVersion 27上运行。

将第二个模块也编译成目标 SDK 29版解决了我的问题。希望这对某些人有所帮助。

在我的例子中,我尝试使用 File > Invalidate Cache/Restart,这对我很有效。

在我的例子中,我是在 AndroidStudio 4.1.1中获得这个错误,同时更新 CompileSdkVersion 到29。

如果您在 build.gradle 中有依赖项目,那么您所需要做的就是在依赖项目的 build.gradle 中更新相同的 buildeSdkVersion。

步骤:

  1. 在 AndroidStudio 的 Project 视图中单击应用程序文件夹。
  2. 选择“打开模块设置”。
  3. 在「专案结构」 > > 检查有多少个模组?
  4. 如果有多个模块,那么您还必须更新 buildSdkVersion、 buildToolsVersion 和 Project 依赖项。

这对我很管用:)

在我的文件 gradle.properties 中更改 useAndroidX 和 ableleJetifier 为 false,并删除 Dependecies 的 androidx

首先,请确保您的最小编译 SdkVersion 是29

其次,您需要匹配 buildSdkVersion 和兼容 buildToolsVersion。
详情请参阅以下答案: Https://stackoverflow.com/a/71663728/9420335

CompileSdkVersion28,将 CompileSdkVersion 更改为28,解决了这个问题。