You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

设置compileSdk=35后Play Console提示UI相关废弃API警告求助

解决Android 15(SDK35)废弃宽屏API警告的实用方案
  • 升级Material Components依赖版本
    你遇到的com.google.android.material.datepicker调用废弃API的问题,大概率是因为Material库版本未适配Android 15。把com.google.android.material:material依赖升级到最新稳定版(比如1.13.0及以上),新版本组件已经替换了废弃的系统API调用。

  • 替换代码中废弃的API调用
    针对三个废弃API,按以下方式替换:

    1. Window.setDecorFitsSystemWindows:
      移除代码中的直接调用,改为在应用主题中设置android:windowDecorFitsSystemWindows="false",然后通过WindowInsetsListener处理布局与系统栏的适配,示例代码:
      window.decorView.setOnApplyWindowInsetsListener { view, insets ->
          val systemBarsInsets = insets.getInsets(WindowInsets.Type.systemBars())
          view.setPadding(systemBarsInsets.left, systemBarsInsets.top, systemBarsInsets.right, systemBarsInsets.bottom)
          insets
      }
      
    2. Window.setStatusBarColor/Window.setNavigationBarColor:
      优先通过主题属性设置颜色,放弃动态调用:
      <style name="AppTheme" parent="Theme.Material3.DayNight.NoActionBar">
          <item name="android:statusBarColor">@color/your_status_bar_color</item>
          <item name="android:navigationBarColor">@color/your_nav_bar_color</item>
      </style>
      
      若需动态修改,改用WindowInsetsController的对应方法:
      window.insetsController?.setSystemBarsColor(ContextCompat.getColor(this, R.color.your_color))
      
  • 排查间接依赖的旧库
    执行./gradlew app:dependencies查看项目依赖树,检查是否有第三方库间接引入了旧版本的Material或AndroidX库。如果有,在build.gradle中强制指定该库的最新版本,示例:

    configurations.all {
        resolutionStrategy.force 'com.google.android.material:material:1.13.0'
    }
    
  • 处理第三方组件的遗留调用
    如果升级Material库后仍存在datepicker的警告,可尝试:

    • 改用AndroidX原生的DatePickerDialog替代Material Datepicker
    • 自定义Datepicker的样式与逻辑,规避废弃API的调用
    • 若确认无法自行修复,可在Play Console的警告页面提交说明,标注问题源于第三方库,正在等待版本更新

内容的提问来源于stack exchange,提问作者Young Lee

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 07:02:42