Android资源工具tools:targetApi标记失效?编译报错求助
解决Android styles.xml编译错误:android:windowSplashScreenBackground requires API level 31
核心问题:tools命名空间地址错误
你当前写的xmlns:tools地址少了末尾的s,错误的地址会导致tools:targetApi标记完全不被识别,所以编译错误依然存在。
修正后的resources标签:
<resources xmlns:tools="http://schemas.android.com/tools">
额外优化:更稳妥的版本适配方式
android:windowSplashScreenBackground是Android 12(API 31)新增的启动屏属性,若你坚持使用Theme.AppCompat.Light.DarkActionBar这类旧AppCompat主题,建议通过版本限定资源目录隔离高版本属性,比依赖tools标记更可靠:
- 在res目录下创建
values-v31文件夹 - 在该文件夹内新建styles.xml,仅写入API 31需要的属性:
<resources> <style name="AppTheme.Template.Base" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="android:windowSplashScreenBackground">@color/evergreen</item> </style> </resources>
低版本编译时会自动忽略values-v31中的资源,从根源避免版本兼容报错。
内容的提问来源于stack exchange,提问作者Rich Schmitt
相关产品推荐
相关产品推荐

