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

ops/2024/10/11 10:56:23/

简介: 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.ppmy.cn/ops/123951.html

相关文章

005集—— 用户交互之CAD窗口选择图元实体(CAD—C#二次开发入门)

如下图:根据提示选择若干图形要素,空格或右键结束选择,返回图元的objectid,以便进一步操作图元实体。 代码如下: using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.EditorInput; using Autodesk.Aut…

Docker 的数据管理

一、容器中数据管理 管理 Docker 容器中数据主要有两种方式:数据卷(Data Volumes)和数据卷容器(DataVolumes Containers)。 1.数据卷 数据卷是一个供容器使用的特殊目录,同时数据卷是宿主机中的…

如何看待诺贝尔物理学奖颁给了机器学习与神经网络?

近日,2024年诺贝尔物理学奖颁发给了机器学习与神经网络领域的研究者,这是历史上首次出现这样的情况。这项奖项原本只授予对自然现象和物质的物理学研究作出重大贡献的科学家,如今却将全球范围内对机器学习和神经网络的研究和开发作为了一种能…

mysql linux 安装

--------------------------------------------------------------------------------------------------------------------------------- 1.前置准备 1.1 卸载旧版MySQL 1.2 查看rpm包 rpm -qa|grep mysql 若有可用 rpm -e 安装包 --nodeps 1.3 查找mysql残留包&#x…

WMS系统拣货管理的优化与创新

一、WMS系统拣货管理的重要性 随着电子商务的快速发展,物流仓储行业面临着巨大的挑战。订单量的激增导致传统的手工拣货方式难以满足需求,而WMS系统的引入则解决了这一问题。通过WMS系统,仓库可以实现自动化、智能化的拣货管理,大…

RabbitMQ(学习前言)

目录 学习MQ之前有必要先去温故下微服务知识体系,以加深本章节的理解 一、微服务间的通讯方式 1. 基本介绍 2. 同步通讯 2.1. 什么是同步通讯 2.2. 同步通讯存在的问题 问题一:耦合度高 问题二:性能和吞吐能力下降 问题三&#xff1a…

第 2 章 基础支持层(上)

2.1 解析器模块 常见的 XML 处理方式 DOM,基于树形结构的 XML 解析方式,它会将整个 XML 文档读入内存并构建一个 DOM 树,基于这棵树形结构对各个节点(Node)进行操作。 SAX,基于事件模型的 XML 解析方式&a…

[Meachines] [Easy] Sea WonderCMS-XSS-RCE+System Monitor 命令注入

信息收集 IP AddressOpening Ports10.10.11.28TCP:22,80 $ nmap -p- 10.10.11.28 --min-rate 1000 -sC -sV PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 8.2p1 Ubuntu 4ubuntu0.11 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 3072 e3:54:…