搞懂 mismatch dep signature

Unity DOTS如何优雅地实现ECS框架下的定时器Timer系统(无对象池,零GC) 无对象池,零GC的ECS定时器Timer系统 阅读详情

在Android 开发中,经常遇到  mismatch dep signature 的问题

最初以为是 apk 的签名,后来问了一位对Android 比较资深的同事,终于明白了其中原理


编译系统会对 system/framework/下面的 jar 以及  system/app下面的apk 文件优化,生成 odex 文件

由于jars, apks 有依赖关系,odex 文件会记住它所依赖 odex 的 signature

比如 framework.odex  依赖于 core.odex, 如果我们改动并重新生成了 core.odex

因为 framework.odex 是基于老的 core.odex 做得优化, ( fraemwork.odex 以前计算的偏移可能不对),所以 framework.odex 在已经更新 core.odex 系统中已失效,所以 framework.odex 也要重新生成。


这可以解释为何系统更新了,所有apk 都自动升级

系统以前安装 apk 的时候,为 apk 生了了 odex  文件, 系统升级后,这些 odex 文件都失效,因此要重新生成

就是说: 因为 apk 依赖 system/framework/ 下的.odex更新了, apk 要基于这些系统.odex 重新生成 odex, 相当于重新安装


如果只是该 C文件,重新生成 system/lib 的so 文件,则不用重新生成odex文件


看来都是odex出的错,要取消,可以

1)编译的时候用:WITH_DEXPREOPT=false

2)在Android.mk中加上:
LOCAL_DEX_PREOPT := false

但系统启动的时候应该就要检验,并生成odex,可能多花些时间

全网最详细Seurat v5 流程复现(拿来即用) 本文是基于seurat v5版本的教程复现,主要依据来源于官网seurat v5建议大家有时间的话可以去官网进行详细阅读学习!本节内容在之前seurat v4的教程都很多都有提到,文章所用到的数据及代码已经给各位放在这里了,有需要自取!请点击这里哦提取码:bui1。 阅读详情

相关推荐

CRPR的三种关键影响:从SI、OCV到Min Pulse Width的时序优化实践

本文深入探讨了CRPR(时钟重汇聚悲观度消除)在芯片时序优化中的三种关键影响:信号完整性(SI)、片上变异(OCV)和最小脉宽检查。通过实际案例分析和技术细节,展示了CRPR如何有效修正时序分析中的过度保守估计,提升设计精度。文章特别强调了SI-aware CRPR的调试技巧和OCV补偿的最佳实践,为芯片设计工程师提供了宝贵的时序优化指导。

weixin_30920853的博客 377

接入HybridCLR PC程序、APP奔溃,微信小游戏报错

微信小游戏转换插件勾选 IL2CPP Optimize Size,会在导出微信小游戏时,自动设置为 Faster (smaller) builds。所以不能勾选此选项。IL2CPP Code Generation:Faster (smaller) builds 导致问题的产生。ERROR: SymGetSymFromAddr64, GetLastError: '试图访问无效的地址。

磨刀不误砍柴工 2818

Pluto SDR新手避坑指南:从环境配置到第一个MATLAB收发程序(附完整代码)

本文为Pluto SDR新手提供全面的避坑指南,从硬件连接到MATLAB环境配置,再到第一个信号收发程序的实现。详细介绍了驱动安装、常见问题排查以及关键参数设置,帮助用户快速上手软件定义无线电(SDR)技术,并附有完整代码示例。

weixin_33168937的博客 324

unity webgl打包事项

1,屏蔽手机端打开提示 2,添加MIME 3,设置color space和Api版本

u010197227的博客 6739

STM32F103VET6实战:用W25Q64外部Flash实现Bootloader+Application双备份(含完整代码解析)

本文详细介绍了基于STM32F103VET6微控制器和W25Q64外部Flash实现Bootloader+Application双备份固件升级的完整方案。通过精心设计的Flash分区策略、可靠的Bootloader程序以及包含双重校验和自动回滚机制的升级流程,有效解决了远程升级过程中断电导致设备变砖的风险,确保了工业嵌入式系统的高可靠性与稳定性。

linux的博客 822

第21章 分层架构软件测试

技术人员和客户代表对代码服务相关的技术进行详细的交流,由此确定代码审计的方案(哪些代码要审计、用什么方式审计、审计的时间、审计的要求等)代码审计报告提交和沟通之后,跟开发人员针对代码审查发现的问题进行修改,然后代码审查人员进行回归的检查,然后提交复查的报告;本层不需要了解其它层的实现细节,只需要考虑与本层相关的两层之间的接口和调用的情况。然后对客户要求的功能点进行人工的代码审查,对源代码的扫描结果进行人工的分析和确认;结合自动化扫描的结果和人工审查的结果生成测试对象的代码审查报告,最后提交给客户;

李黏黏的博客 3270

2022-10-25 系统app提示Signature mismatch for shared user: SharedUserSetting,开机后无法安装

(694条消息) LOCAL_CERTIFICATE作用_jamikabin的博客-优快云博客_local_certificate platform。

海月汐辰 4665

ROS与深度相机入门教程:(1)Ubuntu16.04 在ROS中驱动Intel D435i深度相机

Intel在Github上开源了支持所有RealSense系列相机的SDK,包括了D400、SR300系列深度相机和T265双目跟踪相机,支持Linux、Windows、Mac OS以及Android,链接:https://github.com/IntelRealSense/librealsense/blob/master/doc/distribution_linux.md#installin...

m0_37957160的博客 2075

微信小游戏function signature mismatch,RuntimeError: function signature mismatch

开启Enable Exceptions to Full Without Stacktrace后首先能解决 误报为function signature mismatch然后卡死问题。然后再把Task语法中的逻辑排查一下,哪里会报错。(要注意,不规范的Task写法会吞掉异常。Enable Exceptions to Full Without Stacktrace,Task异步方法中的报错 会导致游戏直接卡死。(这也误导了我很久)。除了其他人发的插件版本问题,缓存问题,华佗问题。

酒馆笔记 2901

游戏战斗系统架构设计的演绎之路——从一坨意大利面条到一座精密钟表

摘要:游戏战斗系统架构设计的演进之路 本文系统梳理了游戏战斗系统从早期街机到现代3A大作的架构发展历程。70-80年代的街机游戏采用基础碰撞盒判定(如《街头霸王》);90年代实现动画融合与状态机架构(《最终幻想》《拳皇》);2000年后MMO引入服务器验证与同步技术(《魔兽世界》);3D时代融合物理引擎与智能AI(《GTA5》《只狼》);移动端则发展出轻量化架构与云端判定(《王者荣耀》)。现代战斗系统已实现模块化、数据驱动和热更新,未来趋势是AI裁判与云战斗系统。这一演进过程展现了技术与创意的完美结合,数百

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 800

13、基因相似性度量的相关性及特征选择研究

本文研究了基因相似性度量和特征选择在生物学中的应用,详细介绍了GO术语相似性度量的多种方法,包括语义度量和路径长度度量,并分析了不同方法在酵母和人类数据集上的表现。研究发现,Avg-sum方法和基于路径长度的度量在多数情况下效果较好。此外,通过晚期辐射毒性预测的案例研究,探讨了特征选择的重要性及可能面临的过拟合和噪声干扰问题,并提出了相应的解决策略。

js777的博客 127

Unity WebGL错误集锦

一般出现了错误 可以看看在浏览器里面传的变量和在编辑器里面的有什么不一样 如果有不一样 就可以试着将浏览器的变量放入到编辑器里面试试 RuntimeError: index out of bounds 这种错误出现,可能是在编辑器里面是 Object reference not set to an instance of an object 即访问某个空引用。 ...

weixin_43149049的博客 4万+

软考中级-软件设计师 Python基础

软考中级-软件设计师 Python知识点整理

片言可决讼,半纸能缚龙 3641

Unity 2021 升级至团结引擎

C:\Program Files\Tuanjie\Hub\Editor\2022.3.2t10\Editor\Data\PlaybackEngines\AndroidPlayer\SDK目录 或者C:\Program Files\Tuanjie\Hub\Editor\2022.3.2t10\Editor\Data\PlaybackEngines\AndroidPlayer\NDK 目录。然后 Tools- > sdkmanager 选择对应的版本进行下载,下载完后重启。解决方法2. 下载对应的版本。

磨刀不误砍柴工 1702

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Signature mismatch on system package com.xxx.xxx for shared user SharedUserSetting

新软件编译到android源码中出现报错:Signature mismatch on system package com.xxx.xxx for shared user SharedUserSetting。LOCAL_CERTIFICATE 的参数platform意思为系统签名,编译出来的APK所在进程的UID为system。如果预制的不是系统级应用,则不需要。解决方案:app Android.mk中修改LOCAL_CERTIFICATE 的参数为:platform。

xiaowang_lj的博客 1707

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Android14之编译解决:Signature mismatch on system package {e6325a0 android.uid.system/1000}(二百三十)

本篇目的:Android14之解决:Signature mismatch on system package {e6325a0 android.uid.system/1000}具体报错:Android系统中,UID(User Identifier,用户标识符)是一个用于区分不同应用和系统用户的唯一标识。在Android系统中,UID主要分为两类:应用UID和系统UID。其中,android.uid.system是系统UID的一种,具有非常重要的地位。

Android系统攻城狮 2132

2024-11-28 提示java.lang.IllegalStateException: Signature mismatch on system package com.xxx.xxxfor

而且无法进入桌面。

海月汐辰 977

解决framework层修改导致无法开机

修复framework代码之后,push编译好的framework.jar和相应的odex文件,发现开机失败,一直在android界面循环 而且不停打dismatch dep : I/dalvikvm( 375): DexOpt: mismatch dep signature for '/system/framework/framework.odex'

一介渔夫 1万+

3.1.2.1 函数签名(FUNCTION SIGNATURES)

3.1.2.1 函数签名(FUNCTION SIGNATURES)   在前面示例中,我们还有一部分尚未讨论,即,F# Interactive 的输出,它告诉我们声明了一个新值,和推导出的类型。因为,我们声明的是函数,函数类型写作 int-> int-> int。这个类型表示函数有两个整型参数(在最后箭头符号前有两个 int),返回的结果是整型(在最后箭头符号后的类型)。我们已经知道,F# 使

心想事成 1469

Android系统应用签名验证绕过:Magisk模块与直接挂载方案详解

Android应用签名验证是确保应用完整性和来源可信的核心安全机制,其原理基于非对称加密技术,通过开发者的私钥对应用进行签名,系统使用公钥进行验证。这项技术对于维护Android生态的安全至关重要,能有效防止应用被篡改和恶意替换。在系统级应用开发与深度定制场景中,开发者有时需要在已获取root权限的设备上调试或替换系统应用,这时就涉及到如何安全地绕过签名验证。通过理解PackageManager安装校验、系统运行时验证及SELinux安全上下文这三道关卡,开发者可以采用Magisk模块进行动态替换,或直接挂

weixin_28716443的博客 436

Android权限之三共享UID和签名

<br /><br />共享UID<br />安装在设备中的每一个Android包文件(.apk)都会被分配到一个属于自己的统一的Linux用户ID,并且为它创建一个沙箱,以防止影响其他应用程序(或者其他应用程序影响它)。用户ID 在应用程序安装到设备中时被分配,并且在这个设备中保持它的永久性。<br />通过Shared User id,拥有同一个User id的多个APK可以配置成运行在同一个进程中.所以默认就是可以互相访问任意数据. 也可以配置成运行成不同的进程, 同时可以访问其他APK的数据目录下的

农场老马的专栏 2万+

单独编译android framework模块出现的问题

全编andorid后,单独修改编译一个framwork模块,make snod会有如下告警信息: Warning: with dexpreopt enabled, you may need a full rebuild 使用这样make snod 出来的镜像,内核不能启动,模拟器一直停留在“android”标志状态。 查看log发现有如下错误打印: DexOpt: mismatch dep

leonan的专栏 3987

【移动安全基础篇】——24、Odex修复方法

1. Dex 转 转 Odex 优化:vm/analysis/Optimize.cpp --&gt; dvmOptimizeClass 2. Dex  校验 vm/analysis/DexVerify.cpp --&gt; dvmVerifyClass 3.  取消非必要优化与校验 /system/build.prop Dalvik.vm.dexopt-flag=v=n, o=n 4. ...

Fly_鹏程万里 1170

《Android 安全(二)》Smali语法基础

Github原文 Smali smali/baksmali 是Android的Java VM实现dalvik使用的dex格式的汇编程序/反汇编程序。 语法松散地基于Jasmin/ dedexer的语法,并支持dex格式的全部功能(注释,调试信息,行信息等) BuildProcedure(构建程序) 依赖 这可能是一份不完整的清单。如果您遇到遗漏的内容,请随时发表评论,我会将其添加 jdk(8) ...

AndroidKt 1561
上一篇: Ubuntu 12.04 下安装 openGL 驱动时,究竟做了什么事?
下一篇: 理解 Android 2D/3D 图形架构
span76
博客等级 码龄18年 117粉丝 174原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值