You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Android Studio修改编译版本为26时出现资源缺失错误的原因

错误原因分析

我来帮你拆解这个dialogCornerRadius资源找不到的问题根源:

  • 系统属性版本不匹配android:attr/dialogCornerRadius是Android API 28(即Android 9.0)才新增的系统属性。而你的项目设置compileSdkVersion 26,这意味着编译器只能访问API 26及以下版本的系统资源和属性,自然无法识别这个高版本才有的属性。

  • AppCompat库的内部样式冲突:你使用的androidx.appcompat:appcompat:1.0.2库中,内置的Base.V28.Theme.AppCompatBase.V28.Theme.AppCompat.Light样式直接引用了?android:attr/dialogCornerRadius这个API28专属属性。当你的compileSdk版本低于28时,AAPT(Android资源打包工具)在编译时找不到这个属性定义,就会抛出错误。

  • 第三方库的间接影响:你依赖的com.theartofdev.edmodo:android-image-cropper:2.8.+图片裁剪库,可能间接依赖了更高版本的AppCompat库或者使用了API28+的资源,进一步加剧了版本不兼容的问题。

内容的提问来源于stack exchange,提问作者Alexis Montas

火山引擎 最新活动