当前位置: 首页 > article >正文

【Android】项目升级时报错 android:style/Holo.Widget

错误原因

当你创建一个新项目,然后使用一下新版本的依赖库,此时将老项目里面的代码迁移过来,或者直接在老版本项目里面升级依赖库的时候,有时候会碰见这样的错误提示。

AGPBI: {"kind":"error","text":"Android resource linking failed","sources":[{}],"original":"AAPT: error: resource android:style/android:Widget.Holo.Light.ActionButton.CloseMode not found.\nerror: resource android:style/android:Widget not found.\nerror: resource android:style/android:TextAppearance.Holo.Widget.ActionBar.Menu not found.\nerror: failed linking references.\n\n    ","tool":"AAPT"}

AAPT: error: resource android:style/android:Widget.Holo.Light.ActionButton.CloseMode not found.
error: resource android:style/android:Widget not found.
error: resource android:style/android:TextAppearance.Holo.Widget.ActionBar.Menu not found.
error: failed linking references.
错误分析

这个错误信息表明,在构建 Android 项目时,AAPT(Android Asset Packaging Tool)无法找到某些 Android 样式(style)资源,具体来说是以下样式:

android:style/android:Widget.Holo.Light.ActionButton.CloseMode
android:style/android:Widget
android:style/android:TextAppearance.Holo.Widget.ActionBar.Menu

这个问题通常是由于以下几种原因引起的:

1.使用了不兼容的 Android 样式资源:
这些样式是 Holo 样式的一部分,而 Holo 风格是 Android 4.0(API 级别 14)之前的默认样式。在较高版本的 Android(API 级别 21 及以上)中,这些样式可能已被移除或不再支持。

2.项目中的目标 SDK 版本过高:
如果项目的 targetSdkVersion 设置得比较高(例如 21 或更高),并且应用代码或第三方库还在使用 Holo 样式,可能会导致这个错误。

3.依赖库使用了过时的资源:
如果使用的某些第三方库(例如,joygnssbase 或其他库)在某些地方使用了这些过时的样式资源,它们在高版本的 Android 系统上可能找不到。

错误解决

首先看项目依赖,是否还是依赖老式样式库,要是还想使用老式依赖库的话,就要降低目标sdk版本。

如果不想依赖老式样式库的话,比如使用新的样式风格

implementation 'androidx.appcompat:appcompat:1.2.0' // AppCompat 库
implementation 'com.google.android.material:material:1.4.0' //  Material Design 库

此时就全局查找Holo 吧
ctrl +alt +F 进行全局查找

例如,在 styles.xml 中可能会看到类似的内容:

<style name="AppTheme" parent="android:Theme.Holo.Light">
    <!-- 自定义样式 -->
</style>

如果有类似的条目,尝试将其更改为使用现代的样式(如 Material Components 或 AppCompat 样式)。

等到把所有的Holo替换为新的样式之后,再重新构建项目就好了。


http://www.kler.cn/a/457065.html

相关文章:

  • MySQL DBA需要掌握的 7 个问题
  • MySQL数据库的锁
  • 区块链安全常见的攻击分析——Unprotected callback - ERC721 SafeMint reentrancy【8】
  • 2024 年度总结
  • 【每日学点鸿蒙知识】上拉加载下拉刷新、napi调试报错、安装验证包、子线程播放音视频文件、OCR等
  • FFmpeg 中 examples 使用教程
  • 毫米波雷达技术:(九)快时间窗和慢时间窗的概念
  • 强化学习蘑菇书笔记
  • 三、Vue 模板语法
  • 【PLL】电荷泵锁相环各个环路参数意义
  • Vulnhub靶场-Empire_LupinOne(至获取shell)
  • 【Qt】编辑框/按钮控件---实现HelloWorld
  • Qt资源文件复制路径与实际路径不一致
  • 威胁建模助力企业“建防御 抓运营”
  • 物联网防爆小型气象站
  • python基于机器学习的水稻病虫害识别
  • 攻防世界web新手第四题easyphp
  • Windows系统shell32.dll丢失怎么解决?找不到shell32.dll文件是什么原因?
  • vue 嵌套el-dialo,当内层的弹窗弹出时,整个页面被遮罩
  • DeepSpeed 使用 LoRA 训练后文件结构详解
  • 游戏机制与关卡分析:生化危机4村庄战
  • PDF书籍《手写调用链监控APM系统-Java版》第2章 第一个Agent应用
  • FPGA三模冗余4项关键技术(二)
  • 学技术学英文:Spring AOP和 AspectJ 的关系
  • XML SimpleXML
  • SQL经验谈之insert into select *