如何修复Android资源链接失败dialogCornerRadius找不到

时间:2019-08-30 16:41:04

标签: android android-fragments android-support-library android-appcompat androidx

我正在开发一个存在此问题的应用。

Android gradle / caches / transforms

  

Android资源链接失败   * / appcompat-1.0.0 / res / values-v28 / values-v28.xml:5:5-8:13:AAPT:错误:未找到资源android:attr / dialogCornerRadius。

我已阅读到此问题可以通过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

1 个答案:

答案 0 :(得分:3)

  

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

一无所有。
android.app.Fragment在API 28中已弃用,但这并不意味着它不起作用。您还可以:

无论如何

  

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

需要 compileSdkVersion 28

您有以下选项:

  • 将支持库v27与compileSdkVersion 27一起使用
  • 使用支持库v28和compileSdkVersion 28
  • migrate使用compileSdkVersion 29compileSdkVersion 28
  • 将项目移植到 androidx