首页 > 解决方案 > 如何修复 Android 资源链接失败 dialogCornerRadius not found

问题描述

我正在开发一个遇到此问题的应用程序。

Android gradle/缓存/转换

Android 资源链接失败 */appcompat-1.0.0/res/values-v28/values-v28.xml:5:5-8:13: AAPT: error: resource android:attr/dialogCornerRadius not found。

我读过这个问题可以通过 API 27 到 28 解决。我遇到的问题是,如果我更新到 28,我会失去我的应用程序的意义,因为我所有的应用程序都是由 Fragments 制作的,并且在 Android Studio 的最新版本中api 片段已被弃用。

       v28/values-v28.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
          <style name="Base.Theme.AppCompat" parent="Base.V28.Theme.AppCompat"/>
          <style name="Base.Theme.AppCompat.Light" parent="Base.V28.Theme.AppCompat.Light"/>
          <style name="Base.V28.Theme.AppCompat" parent="Base.V26.Theme.AppCompat">
            <!-- We can use the platform styles on API 28+ -->
            <item name="dialogCornerRadius">?android:attr/dialogCornerRadius</item>
          </style>
          <style name="Base.V28.Theme.AppCompat.Light" parent="Base.V26.Theme.AppCompat.Light">
            <!-- We can use the platform styles on API 28+ -->
            <item name="dialogCornerRadius">?android:attr/dialogCornerRadius</item>
          </style>
</resources>

那么,我如何运行我的应用程序来保留片段(不更新到 Android 9 api)。

我要修改项目dialogCornerRadius

标签: androidandroid-fragmentsandroid-support-libraryandroid-appcompatandroidx

解决方案


如果我更新到 28 我失去了我的应用程序的意义,因为我所有的应用程序都是由 Fragment 制作的

什么都没有丢失。
android.app.Fragment在 API 28 中已弃用,但这并不意味着它不起作用。您还可以:

任何状况之下

/values-v28/values-v28.xml:5:5-8:13: AAPT: 错误: 资源 android:attr/dialogCornerRadius 未找到

需要 compileSdkVersion 28.

您有以下选择:

  • 使用支持库 v27compileSdkVersion 27
  • 使用支持库 v28compileSdkVersion 28
  • 您的项目迁移到androidxcompileSdkVersion 29compileSdkVersion 28

推荐阅读