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

Android15之解决:Dex checksum does not match for dex:services.jar问题(二百三十五)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者

新书发布:《Android系统多媒体进阶实战》🚀
优质专栏: Audio工程师进阶系列原创干货持续更新中……】🚀
优质专栏: 多媒体系统工程师系列原创干货持续更新中……】🚀
优质视频课程:AAOS车载系统+AOSP14系统攻城狮入门视频实战课 🚀

人生格言: 人生从来没有捷径,只有行动才是治疗恐惧和懒惰的唯一良药.

更多原创,欢迎关注:Android系统攻城狮

欢迎关注Android系统攻城狮

🍉🍉🍉文章目录🍉🍉🍉

    • 🌻1.前言
    • 🌻2.services.jar介绍
    • 🌻3.解决方案
      • 🐓3.1 修改一:
      • 🐓3.2 修改二:
      • 🐓3.3 编译

🌻1.前言

本篇目的:Android15之解决:Dex checksum does not match for dex:services.jar问题

  • 具体报错:
E/zygote64( 2702): Dex checksum does not match for dex: /system/framework/services.jar.Expected: 282363620, actual: 1784922611

🌻2.services.jar介绍

services.jar是Android系统中的一个重要Java归档文件(JAR),它位于Android操作系统的/system/framework/目录下。这个JAR文件包含了一系列服务和框架API,这些服务和API是Android系统运行的核心组成部分,它们为Android应用和系统本身提供了底层的功能支持。
services.jar中封装了Android平台提供的一些关键服务,例如,窗口管理服务(WindowManagerService)、活动管理服务(ActivityManagerService)、通知管理服务(NotificationManagerService)等。这些服务通常以系统服务的形式运行在Android系统的System Server进程中,为上层应用提供稳定可靠的服务接口。
以下是services.jar中包含的一些关键服务和功能:

  1. 窗口管理服务(WindowManagerService):负责管理所有应用窗口的显示和交互。它处理窗口的创建、大小调整、层叠顺序等操作,并确保用户界面流畅运行。
  2. 活动管理服务(ActivityManagerService):负责管理应用程序的生命周期,包括应用的启动、切换、终止等。它还负责进程和内存管理,确保系统资源得到合理分配。
  3. 通知管理服务(NotificationManagerService):负责处理系统的通知消息。应用可以通过这个服务向用户发送通知,如状态栏通知、声音、震动等。
  4. 内容提供者服务(ContentProvider):提供了一种在应用程序间共享数据的机制。通过内容提供者,应用可以读取和修改其他应用的数据,如联系人信息、媒体库等。
  5. 输入管理服务(InputMethodManager):负责处理输入事件,特别是与软键盘相关的输入。它管理软键盘的显示、隐藏以及输入法的切换。
  • services.jar还包含了其他许多服务和API,如电源管理、账户管理、搜索服务、壁纸服务等。这些服务和API为开发者提供了丰富的功能,使得他们能够开发出功能丰富、交互性强的Android应用。
  • 由于services.jar属于Android系统的内部实现,普通开发者通常不会直接与其交互。相反,开发者通常会通过Android SDK提供的公共API来使用这些服务。这些公共API是对services.jar中服务的封装和抽象,使得开发者能够在不了解底层实现细节的情况下使用这些服务。
  • services.jar的重要性体现在它是Android系统服务的中枢,几乎所有的系统级别操作和应用间的交互都依赖于它提供的功能。因此,对于理解Android系统架构和深入开发Android应用的开发者来说,了解services.jar的作用和内容是非常有价值的。

🌻3.解决方案

🐓3.1 修改一:

  • build/make/core/tasks/dex_preopt_check.mk
+ DISABLE_DEXPREOPT_CHECK := true
ifneq (true,$(DISABLE_DEXPREOPT_CHECK))# Skip the check if the system server is not installed for the product.ifneq (,$(filter services,$(PRODUCT_PACKAGES)))$(call maybe-print-list-and-error,\$(filter-out $(ALL_DEFAULT_INSTALLED_MODULES),$(DEXPREOPT_SYSTEMSERVER_ARTIFACTS)),\Missing compilation artifacts. Dexpreopting is not working for some system server jars. See \https://cs.android.com/android/platform/superproject/+/master:build/make/core/tasks/README.dex_preopt_check.md \)endif
endif

🐓3.2 修改二:

  • frameworks/base/services/Android.bp
java_library {name: "services",
+ 	enforce_uses_libs: false,
+     dex_preopt: {
+         enabled: false,
+     },
}
  • Android.mk写法
LOCAL_ENFORCE_USES_LIBRARIES := false
LOCAL_DEX_PREOPT := false

🐓3.3 编译

# make services -j20

http://www.mrgr.cn/news/42995.html

相关文章:

  • SQL专项练习第二天
  • 学术环境中能力对敏捷努力评估的影响
  • Debezium日常分享系列之:Debezium 3.0.0.Final发布
  • Python知识点:在Python编程中,如何使用Joblib进行并行计算
  • 计算机组成原理之整数的表示和运算
  • 【DataLoom】智能问数 - 自然语言与数据库交互
  • FPGA时序分析和约束学习笔记(1、FPGA基本原理)
  • 车载项目:HIL测试、功能安全测试、CAN一致性测试、UDS测试、ECU测试、OTA测试、TBOX测试、导航测试、车控测试
  • ICM20948 DMP代码详解(62)
  • Cisco ACI Simulator 6.0(7e)M 发布下载,新增功能简介
  • 【无标题】提升快递管理效率的必备技能:教你批量查询与导出物流信息
  • 《 C++ 修炼全景指南:十四 》大数据杀手锏:揭秘 C++ 中 BitSet 与 BloomFilter 的神奇性能!
  • 【分布式微服务云原生】战胜Redis脑裂:深入解析与解决方案
  • 系统架构设计师教程 第13章 13.3 中间层架构设计 笔记
  • Salesforce AI 推全新大语言模型评估家族SFR-Judge 基于Llama3构建
  • 前端Vue项目的自动打包、上传与部署
  • 车载入行:HIL测试、功能安全测试、CAN一致性测试、UDS测试、ECU测试、OTA测试、TBOX测试、导航测试、车控测试
  • Python案例--三数排序
  • .NET开源跨平台桌面和移动应用的统一框架 - Eto.Forms
  • 殷人昆教授带头节点单链表