错误:(9,5)错误:未找到资源android:attr / dialogCornerRadius


118

因此,我安装了android studio 3.0.1,并在打开构建的gradle并显示以下错误后立即进行了安装。我尝试添加依赖项,例如设计和支持,但徒劳无功。有人可以帮我吗?先感谢您。 在此处输入图片说明

它显示未找到某些属性,例如dialogCornerRadius和fontVariation设置。


4
我有compileSdkVersion 27compileSdkVersion 28,更改compileSdkVersion28,解决了这个问题。
Blasanka '19

Answers:


173

由于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相同:设计
奇数表

66

如果您是针对AndroidX迁移的,并且遇到此错误,则需要将编译SDK设置为Android 9.0(API级别28)或更高版本


有什么办法可以用sdkcompiled 27来安装androidX?
Phil

1
@Phil迁移之前,请先更新您的应用程序。我们建议您更新项目以使用支持库的最终版本:版本28.0.0。这是因为版本为1.0.0的AndroidX工件与支持库28.0.0工件是二进制等效的。来源。因此,没有androidX的sdk 27​​选项
murgupluoglu

23

我有完全相同的问题。以下线程帮助我解决了这个问题。只需将您的Compile SDK版本设置为AndroidP。

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

我通过选择解决此问题:

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

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

摇篮设置


3
通知,你不必将其定位到28,你可以设置compileSdkVersionbuildToolsVersion28并留下您targetSdkVersion以更低的版本
基里尔·卡尔马津

16

检查您的依赖性,+以了解版本中的用途。有些依赖可能正在使用com.android.support:appcompat-v7:+。这会导致发布新版本时出现问题,并可能破坏功能。

解决方案是完全使用com.android.support:appcompat-v7:{compileSdkVersion}.+或完全不使用+,而使用完整版本(例如com.android.support:appcompat-v7:26.1.0)。

如果您无法在build.gradle文件中看到这一行,请在android studio终端中运行以概述每个依赖项的用途

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
塔斯林Oseni

是的,我也想成为26岁。任何解决方案@TaslimOseni
Vigneswaran

1
@VigneswaranA,我最终不得不坚持到28,从而更新了我所有其他依赖项。我找不到解决方案。
Taslim Oseni

7

在添加mapbox导航API时遇到了相同的问题,并通过以下方法解决了该问题:File> project Structure,然后将compile sdk版本和build工具版本设置为最新版本。这是屏幕截图: 设置截图

希望能帮助到你。


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'

如果我们在少于28处使用“任何”,则应发生此错误,因此请尝试全部使用匹配库。


6

与几个模块的应用工作,而有同样的问题,检查以确保当您增加compileSdkVersiontargetSdkVersion模块,你也为别人做的到28+值。

一个模块正在运行compileSdkVersion 29targetSdkVersion 29而该应用程序的第二个模块正在compileSdkVersion 27和运行targetSdkVersion 27

更改第二个模块以进行编译并以SDK版本29为目标,解决了我的问题。希望这对某人有帮助。


很高兴为您提供帮助。
Opeyemi

5

也许为时已晚,但我找到了解决方案:

您必须build.gradlecompileSdkVersion->中编辑到最新(现在是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-alpha1


1
如果使用编译SDK 28和构建工具28.0.1,则可以。
norbDEV '18

1

我遇到了同样的问题,但是我通过将compileSdkVersion的版本更改为最新版本29,并将targetSdkVersion的版本更改为最新版本成功解决了该问题。

转到gradile.build文件,然后更改compilesdkversion和targetsdkversion。



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"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.