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

news2024/10/11 17:12:57

简介: 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.coloradmin.cn/o/2205321.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

前端接收到的日期格式为 2021-12-07T16:44:53.298+00:00 怎么办?

在写项目的时候,给前端发送了一个 Date 类型的数据,发现格式不对: 可以通过在application 配置文件中进行如下配置: spring:jackson:date-format: yyyy-MM-dd HH:mm:sstime-zone: GMT8 前端在获取就发现格式正确

登高赏菊迎重阳,与家人共乐同度佳节。

在金风送爽的重阳佳节,让我们登高远望,与亲人共赏菊花,共享团圆时光。愿清风明月,带来幸福与好运,让我们心怀感恩,笑对人生,共度这个美好的重阳节日!

中安未来 OCR:合同抽取的高效利器

在数字化办公的时代,高效处理文档成为了众多企业的迫切需求。中安未来 OCR 技术以其强大的功能脱颖而出。 中安未来的 OCR 技术能够准确识别各种文档中的文字信息,其中合同抽取功能尤为实用。对于企业来说,合同管理至关重要。传统的合同处理方…

如何设置 GitLab 密码过期时间?

GitLab 是一个全球知名的一体化 DevOps 平台,很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab 是 GitLab 在中国的发行版,专门为中国程序员服务。可以一键式部署极狐GitLab。 学习极狐GitLab 的相关资料: 极狐GitLab 60天专业…

CLIP——多模态预训练模型介绍

CLIP: Contrastive Language-Image Pre-training CLIP: 对比语言-图像预训练 CLIP的是由 OpenAI 2021年在 Learning Transferable Visual Models From Natural Language Supervision【利用文本的监督信号训练一个迁移能力强的视觉模型】中提出的一种多模态预训练模型&#xff…

AI荣耀时刻!2024诺贝尔物理奖、化学奖双双归属AI界

全球科学界迎来了2024最为瞩目的时刻——诺贝尔奖揭晓!当诺贝尔物理奖和化学奖这两大科学殿堂的最高荣誉同时聚焦在人工智能(AI)领域时,AI技术无疑再次被推向了神坛,成为全球瞩目的焦点!这一历史性的时刻&a…

2024年【焊工(初级)】最新解析及焊工(初级)模拟试题

题库来源:安全生产模拟考试一点通公众号小程序 焊工(初级)最新解析根据新焊工(初级)考试大纲要求,安全生产模拟考试一点通将焊工(初级)模拟考试试题进行汇编,组成一套焊…

来势汹汹,Eva Gamaiun超现实版权画时隔一年连发两案再次维权

案件基本情况起诉时间:2024-9-23、2024-9-24案件号:2024-cv-08763、2024-cv-08804原告:Eva Gamaiun原告律所:keith起诉地:伊利诺伊州北部法院品牌介绍Eva Gamayun,1990年出生,是一位自学成才的混…

vue项目 子组件在打开时调用父组件传过来的props里的数据

1 分析: 父组件在加载时就会加载子组件,所以此时调不到数据, 我们可以利用父组件内子组件的ref属性,获取子组件的方法, 在父组件的触发方法中调用直接传值 例: 父组件: //父组件事件AttributesRelations(row){this.dialogForm rowthis.$refs.AttributesRelationsRef.Attribu…

华为 HCIP-Datacom H12-821 题库 (35)

🐣博客最下方微信公众号回复题库,领取题库和教学资源 🐤诚挚欢迎IT交流有兴趣的公众号回复交流群 🦘公众号会持续更新网络小知识😼 1.一个 Route-Policy 下可以有多个节点,设备在调用Route-Policy时按顺序开始匹配 …

【最新华为OD机试E卷-支持在线评测】智能成绩表(100分)多语言题解-(Python/C/JavaScript/Java/Cpp)

🍭 大家好这里是春秋招笔试突围 ,一枚热爱算法的程序员 💻 ACM金牌🏅️团队 | 大厂实习经历 | 多年算法竞赛经历 ✨ 本系列打算持续跟新华为OD-E/D卷的多语言AC题解 🧩 大部分包含 Python / C / Javascript / Java / Cpp 多语言代码 👏 感谢大家的订阅➕ 和 喜欢�…

如何才能使绩效管理和薪酬管理完美结合?

如何才能使绩效管理和薪酬管理完美结合? 企业内部管理中,绩效考核与薪酬设计是人力资源管理的两大核心支柱。薪酬设计不仅是工资分配的基石,更是激发员工潜能的关键工具;绩效考核则作为评估标尺,衡量如销售额、服务满…

temu自养号测评采购系统搭建技巧与技术要求

TEMU自养号测评采购系统的搭建是一个细致且需关注多个环节的过程,以下是一些关键的搭建技巧: 一、基础环境搭建 1. 硬件参数隔离: 2. 利用国外服务器在云端设立安全终端,确保每个账号拥有独立的硬件底层参数,如安全…

MySQL C/C++ 的 API

MySQL 提供了一个用于 C/C 的 API,称为 MySQL Connector/C。该 API 允许通过 C/C 程序与 MySQL 数据库进行交互。 函数名称参数返回值描述mysql_initMYSQL *mysqlMYSQL *初始化一个 MySQL 对象,用于连接 MySQL 服务器。mysql_real_connectMYSQL *mysql,…

视频里的声音怎么单独提取出来?简单又实用的10种提取声音方法!

视频里的声音怎么单独提取出来?在当今这个数字化飞速发展的时代,视频已经成为信息传播的中流砥柱,而音频元素则是这个过程中一个举足轻重的组成部分,音频不仅扮演着声音背景的角色,更通过多种形式如旁白解说、背景音乐…

设备树pinctrl子系统

1.pinctrl子系统 大多数 SOC 的 pin 都是支持复用的,比如 IMX6ULL 的 GPIO1_IO03 既可以作为普通的GPIO 使用,也可以作为 I2C1 的 SDA 等等。此外我们还需要配置 pin 的电气特性,比如上/下拉、速度、驱动能力等等。传统的配置 pin 的方式就是…

一个月学会Java 第9天 构造器与访问修饰符

Day9 构造器与访问修饰符 本来其实是想在Day8里面把这个构造器给讲掉的,但是发现篇幅有点长的,后面的内容也是稍微有一点点超纲了,所以就先把这个留着,现在再讲。 第一章 构造器 构造器,我们之前在讲类的时候其实是说过…

CANoe_调用C#控件的方法_DEMO方法演示

1、DEMO存放位置 D:\Users\Public\Documents\Vector\CANoe\Sample Configurations 11.0.96\CAN\MoreExamples\ActiveX_DotNET_Panels 每个人的电脑因为有区别存放位置不一样 2、控件制作--使用C#控件可以直接制作 3、控件代码 using System; using System.Collections; usi…

探索血糖人工智能预测可穿戴设备

导言 论文地址:https://arxiv.org/abs/2404.12605 数字生物标志物是一种新型医疗指标,其数据来源于可穿戴设备和智能手机等数字设备收集的数据。与从传统生物样本中提取的病理标志物不同,数字生物标志物能提供行为模式、生理节奏和环境因素的…

DBeaver的安装与使用

文章目录 前言一、DBeaver 的安装二、DBeaver 的基本使用三、DBeaver 的高级功能四、使用小技巧五、总结 前言 DBeaver 是一款广泛应用的数据库管理工具,支持多种数据库系统。以下是它的安装与使用方法。 一、DBeaver 的安装 下载 DBeaver: 前往 DBeaver 官方网站…