Android 无签名系统 debug 版本APK push到设备引起的开机异常问题分析(zygote进程)

问题背景

前置操作:

替换原system/priv-app 目录下已有的应用包未未签名的debug版本,然后重启。

现象:

无法正常开机,卡在开机动画,并且pm没有起来,因为执行adb install 命令是返回“cmd: Can't find service: package”。

应用信息:

跟Settings系统应用在同一进程。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"coreApp="true"package="com.demo.unit"android:sharedUserId="android.uid.system"><uses-sdk android:minSdkVersion="28" />

日志分析

//按size值依次添加应用包

11-12 16:36:42.139  3310  3310 D PERF/BehaviorHuber: addPackage-> uid=10059, pkg=com.android.soundpicker, type=643777, size=143

11-12 16:36:42.140  3310  3310 D PERF/BehaviorHuber: addPackage-> uid=2000, pkg=com.android.shell, type=128001, size=144
11-12 16:36:42.144  3310  3310 D PERF/BehaviorHuber: addPackage-> uid=10078, pkg=com.google.android.tag, type=644995, size=146

很明显zygote进程都没跑起来

11-12 16:36:42.146  3310  3310 I PackageManager: /system/priv-app/DemoUnit changed; collecting certs
11-12 16:36:42.149  3310  3310 I Watchdog: Resuming HandlerChecker: main thread for reason: packagemanagermain. Pause count: 0
11-12 16:36:42.149  3310  3310 E System  : ******************************************
11-12 16:36:42.149  3310  3310 E System  : ************ Failure starting system services
11-12 16:36:42.149  3310  3310 E System  : java.lang.IllegalStateException: Signature mismatch on system package com.demo.unit for shared user SharedUserSetting{73b98d7 android.uid.system/1000}

11-12 16:36:42.149  3310  3310 E System  :     at com.android.server.pm.ReconcilePackageUtils.reconcilePackages(ReconcilePackageUtils.java:284)
11-12 16:36:42.149  3310  3310 E System  :     at com.android.server.pm.InstallPackageHelper.addForInitLI(InstallPackageHelper.java:3988)
11-12 16:36:42.149  3310  3310 E System  :     at com.android.server.pm.InstallPackageHelper.installPackagesFromDir(InstallPackageHelper.java:3797)
11-12 16:36:42.149  3310  3310 E System  :     at com.android.server.pm.InitAppsHelper.scanDirTracedLI(InitAppsHelper.java:463)
11-12 16:36:42.149  3310  3310 E System  :     at com.android.server.pm.InitAppsHelper.scanSystemDirs(InitAppsHelper.java:418)
11-12 16:36:42.149  3310  3310 E System  :     at com.android.server.pm.InitAppsHelper.initSystemApps(InitAppsHelper.java:209)
11-12 16:36:42.149  3310  3310 E System  :     at com.android.server.pm.PackageManagerService.<init>(PackageManagerService.java:2362)
11-12 16:36:42.149  3310  3310 E System  :     at com.android.server.pm.PackageManagerService.main(PackageManagerService.java:1806)
11-12 16:36:42.149  3310  3310 E System  :     at com.android.server.SystemServer.startBootstrapServices(SystemServer.java:1366)
11-12 16:36:42.149  3310  3310 E System  :     at com.android.server.SystemServer.run(SystemServer.java:983)
11-12 16:36:42.149  3310  3310 E System  :     at com.android.server.SystemServer.main(SystemServer.java:685)
11-12 16:36:42.149  3310  3310 E System  :     at java.lang.reflect.Method.invoke(Native Method)
11-12 16:36:42.149  3310  3310 E System  :     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:617)
11-12 16:36:42.149  3310  3310 E System  :     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:980)
11-12 16:36:42.149  3310  3310 V SystemServerTiming: StartPackageManagerService took to complete: 784ms
11-12 16:36:42.150  3310  3310 E Zygote  : System zygote died with fatal exception
11-12 16:36:42.150  3310  3310 E Zygote  : java.lang.IllegalStateException: Signature mismatch on system package com.demo.unit for shared user SharedUserSetting{73b98d7 android.uid.system/1000}
11-12 16:36:42.150  3310  3310 E Zygote  :     at com.android.server.pm.ReconcilePackageUtils.reconcilePackages(ReconcilePackageUtils.java:284)
11-12 16:36:42.150  3310  3310 E Zygote  :     at com.android.server.pm.InstallPackageHelper.addForInitLI(InstallPackageHelper.java:3988)
11-12 16:36:42.150  3310  3310 E Zygote  :     at com.android.server.pm.InstallPackageHelper.installPackagesFromDir(InstallPackageHelper.java:3797)
11-12 16:36:42.150  3310  3310 E Zygote  :     at com.android.server.pm.InitAppsHelper.scanDirTracedLI(InitAppsHelper.java:463)
11-12 16:36:42.150  3310  3310 E Zygote  :     at com.android.server.pm.InitAppsHelper.scanSystemDirs(InitAppsHelper.java:418)
11-12 16:36:42.150  3310  3310 E Zygote  :     at com.android.server.pm.InitAppsHelper.initSystemApps(InitAppsHelper.java:209)
11-12 16:36:42.150  3310  3310 E Zygote  :     at com.android.server.pm.PackageManagerService.<init>(PackageManagerService.java:2362)
11-12 16:36:42.150  3310  3310 E Zygote  :     at com.android.server.pm.PackageManagerService.main(PackageManagerService.java:1806)
11-12 16:36:42.150  3310  3310 E Zygote  :     at com.android.server.SystemServer.startBootstrapServices(SystemServer.java:1366)
11-12 16:36:42.150  3310  3310 E Zygote  :     at com.android.server.SystemServer.run(SystemServer.java:983)
11-12 16:36:42.150  3310  3310 E Zygote  :     at com.android.server.SystemServer.main(SystemServer.java:685)
11-12 16:36:42.150  3310  3310 E Zygote  :     at java.lang.reflect.Method.invoke(Native Method)
11-12 16:36:42.150  3310  3310 E Zygote  :     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:617)
11-12 16:36:42.150  3310  3310 E Zygote  :     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:980)
11-12 16:36:42.150  3310  3310 D AndroidRuntime: Shutting down VM
--------- beginning of crash
11-12 16:36:42.150  3310  3310 E AndroidRuntime: *** FATAL EXCEPTION IN SYSTEM PROCESS: main
11-12 16:36:42.150  3310  3310 E AndroidRuntime: java.lang.IllegalStateException: Signature mismatch on system package com.demo.unit for shared user SharedUserSetting{73b98d7 android.uid.system/1000}
11-12 16:36:42.150  3310  3310 E AndroidRuntime:     at com.android.server.pm.ReconcilePackageUtils.reconcilePackages(ReconcilePackageUtils.java:284)
11-12 16:36:42.150  3310  3310 E AndroidRuntime:     at com.android.server.pm.InstallPackageHelper.addForInitLI(InstallPackageHelper.java:3988)
11-12 16:36:42.150  3310  3310 E AndroidRuntime:     at com.android.server.pm.InstallPackageHelper.installPackagesFromDir(InstallPackageHelper.java:3797)
11-12 16:36:42.150  3310  3310 E AndroidRuntime:     at com.android.server.pm.InitAppsHelper.scanDirTracedLI(InitAppsHelper.java:463)
11-12 16:36:42.150  3310  3310 E AndroidRuntime:     at com.android.server.pm.InitAppsHelper.scanSystemDirs(InitAppsHelper.java:418)
11-12 16:36:42.150  3310  3310 E AndroidRuntime:     at com.android.server.pm.InitAppsHelper.initSystemApps(InitAppsHelper.java:209)
11-12 16:36:42.150  3310  3310 E AndroidRuntime:     at com.android.server.pm.PackageManagerService.<init>(PackageManagerService.java:2362)
11-12 16:36:42.150  3310  3310 E AndroidRuntime:     at com.android.server.pm.PackageManagerService.main(PackageManagerService.java:1806)
11-12 16:36:42.150  3310  3310 E AndroidRuntime:     at com.android.server.SystemServer.startBootstrapServices(SystemServer.java:1366)
11-12 16:36:42.150  3310  3310 E AndroidRuntime:     at com.android.server.SystemServer.run(SystemServer.java:983)
11-12 16:36:42.150  3310  3310 E AndroidRuntime:     at com.android.server.SystemServer.main(SystemServer.java:685)
11-12 16:36:42.150  3310  3310 E AndroidRuntime:     at java.lang.reflect.Method.invoke(Native Method)
11-12 16:36:42.150  3310  3310 E AndroidRuntime:     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:617)
11-12 16:36:42.150  3310  3310 E AndroidRuntime:     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:980)
11-12 16:36:42.152  3310  3310 E AndroidRuntime: Error reporting crash
11-12 16:36:42.152  3310  3310 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke interface method 'void android.app.IActivityManager.handleApplicationCrash(android.os.IBinder, android.app.ApplicationErrorReport$ParcelableCrashInfo)' on a null object reference
11-12 16:36:42.152  3310  3310 E AndroidRuntime:     at com.android.internal.os.RuntimeInit$KillApplicationHandler.uncaughtException(RuntimeInit.java:207)
11-12 16:36:42.152  3310  3310 E AndroidRuntime:     at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1071)
11-12 16:36:42.152  3310  3310 E AndroidRuntime:     at java.lang.ThreadGroup.uncaughtException(ThreadGroup.java:1066)
11-12 16:36:42.152  3310  3310 E AndroidRuntime:     at java.lang.Thread.dispatchUncaughtException(Thread.java:2306)
11-12 16:36:42.152  3310  3310 I Process : Sending signal. PID: 3310 SIG: 9
11-12 16:36:42.188  3129  3129 E Zygote  : Zygote failed to write to system_server FD: Connection refused
11-12 16:36:42.188  3129  3129 I Zygote  : Process 3310 exited due to signal 9 (Killed)
11-12 16:36:42.188  3129  3129 W libc    : Access denied finding property "ro.vendor.iqi"
11-12 16:36:42.188  3129  3129 D Zygote  : IQI Zygote  false
11-12 16:36:42.188  3129  3129 E Zygote  : Exit zygote because system server (pid 3310) has terminated
11-12 16:36:42.229  3133  3133 D DeviceHAL: closeOutputStream mOpenedStreamsCount 5
11-12 16:36:42.229  3133  3142 D DeviceHAL: ~Device ++, doClose()
11-12 16:36:42.229  3133  3142 D DeviceHAL: doClose mIsClosed 0, mOpenedStreamsCount 0
11-12 16:36:42.229  3133  3133 D AudioALSAStreamManager: +closeOutputStream(), out = 0xb40000713de38100, mStreamOutVector.size() = 5
11-12 16:36:42.229  3133  3142 I r_submix: adev_close()
11-12 16:36:42.229  3133  3142 D DeviceHAL: ~Device --
11-12 16:36:42.229  3133  3141 D DeviceHAL: closeOutputStream mOpenedStreamsCount 5

参考资料

The Android Boot Processicon-default.png?t=O83Ahttps://copperhead.co/blog/android-boot-process/

 

What is the Android Boot Sequence
What is the Android Boot Sequence

1. Boot ROM code execution

2. The bootloader

3. The Linux kernel

4. The ‘Init’ process

5. Zygote and Dalvik VM

6. The System Server and Managers

 

Zygote launches the system services and forks a new process to launch.

System service
System service

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/60711.shtml

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

相关文章

深度学习推荐系统的工程实现

参考自《深度学习推荐系统》——王喆&#xff0c;用于学习和记录。 介绍 之前章节主要从理论和算法层面介绍了推荐系统的关键思想。但算法和模型终究只是“好酒”&#xff0c;还需要用合适的“容器”盛载才能呈现出最好的味道&#xff0c;这里的“容器”指的就是实现推荐系统…

attention 注意力机制 学习笔记-GPT2

注意力机制 这可能是比较核心的地方了。 gpt2 是一个decoder-only模型&#xff0c;也就是仅仅使用decoder层而没有encoder层。 decoder层中使用了masked-attention 来进行注意力计算。在看代码之前&#xff0c;先了解attention-forward的相关背景知识。 在普通的self-atten…

Java 内存区域详解

对于 Java 程序员来说&#xff0c;在虚拟机自动内存管理机制下&#xff0c;不再需要像 C/C程序开发程序员这样为每一个 new 操作去写对应的 delete/free 操作&#xff0c;不容易出现内存泄漏和内存溢出问题。正是因为 Java 程序员把内存控制权利交给 Java 虚拟机&#xff0c;一…

FluentUI使用

首先向Qt Qml FluentUI组件库的作者zhuzichu520致敬&#xff01; 一、源码下载地址&#xff1a; 1&#xff09;GitHub - zhuzichu520/FluentUI: FluentUI for QML 2&#xff09;GitCode - 全球开发者的开源社区,开源代码托管平台 二、Qt6下载地址&#xff1a; qt-online-i…

【UE5】在材质Custom写函数的方法

UE材质的Custom本身会构建为函数&#xff0c;所以并不能在Custom定义函数&#xff0c;但当然还是有办法的 总结一些在custom写函数的方法 常规办法 常规办法就是使用结构体作为函数使用 以一个Lerp功能函数演示 让我们看看写法&#xff1a; struct VolBlendFunc //定义结…

分享 pdf 转 word 的免费平台

背景 找了很多 pdf 转 word 的平台都骗进去要会员&#xff0c;终于找到一个真正免费的&#xff0c;遂分享。 网址 PDF转Word转换器 - 100%免费市面上最优质的PDF转Word转换器 - 免费且易于使用。无附加水印 - 快速将PDF转成Word。https://smallpdf.com/cn/pdf-to-word

【LeetCode】每日一题 2024_11_14 统计好节点的数目(图/树的 DFS)

前言 每天和你一起刷 LeetCode 每日一题~ LeetCode 启动&#xff01; 题目&#xff1a;统计好节点的数目 代码与解题思路 先读题&#xff1a;题目要求我们找出好节点的数量&#xff0c;什么是好节点&#xff1f;“好节点的所有子节点的数量都是相同的”&#xff0c;拿示例一…

【模块化大作战】Webpack如何搞定CommonJS与ES6混战(3)

在前端开发中&#xff0c;模块化是一个重要的概念&#xff0c;不同的模块化标准有不同的特点和适用场景。webpack 同时支持 CommonJS 和 ES6 Module&#xff0c;因此需要理解它们在互操作时 webpack 是如何处理的。 同模块化标准 如果导出和导入使用的是同一种模块化标准&…

SystemVerilog学习笔记(十):进程/细粒度进程控制

进程 进程或线程是作为独立实体执行的任何代码片段。fork-join块创建并行运行的不同线程。在下面的图-1中&#xff0c;可以看到进程的类型和进程控制。 序号进程描述1.fork-join只有所有子线程执行完毕时&#xff0c;父线程才会执行。2.fork-join_any只有任何一个子线程执行完…

javascript用来干嘛的?赋予网站灵魂的语言

javascript用来干嘛的&#xff1f;赋予网站灵魂的语言 在互联网世界中&#xff0c;你所浏览的每一个网页&#xff0c;背后都有一群默默工作的代码在支撑着。而其中&#xff0c;JavaScript就像是一位技艺精湛的魔术师&#xff0c;它赋予了网页生命力&#xff0c;让原本静态的页…

Golang | Leetcode Golang题解之第553题最优除法

题目&#xff1a; 题解&#xff1a; func optimalDivision(nums []int) string {n : len(nums)if n 1 {return strconv.Itoa(nums[0])}if n 2 {return fmt.Sprintf("%d/%d", nums[0], nums[1])}ans : &strings.Builder{}ans.WriteString(fmt.Sprintf("%d…

宝塔 docker 部署onlyoffice 服务

1.宝塔安装docker,直接下载安装就行 2.docker拉取onlyoffice镜像 docker pull onlyoffice/documentserver:5.3.1.26 5.4或更高的版本已经解决了连接数限制方法的Bug 3.创建容器 docker run -d --name onlyoffice --restartalways -p 暴露端口号:80 onlyoffice/documentserv…

InternVL 多模态模型部署微调实践

目录 0 什么是MLLM 1 开发机创建与使用 2 LMDeploy部署 2.1 环境配置 2.2 LMDeploy基本用法介绍 2.3 网页应用部署体验 3 XTuner微调实践 3.1 环境配置 3.2.配置文件参数解读 3.3 开始微调 4.体验模型美食鉴赏能力 0 什么是MLLM 多模态大语言模型 ( Multimodal Larg…

pgSQL-timescaledb复制表出现的问题

今日在工作中&#xff0c;需要复制一张timescaledb表&#xff0c;pgAdmin上复制一直未成功&#xff0c;或者我找错位置了。 1.我使用Navicate连接pgSQL&#xff0c;连上后选中相应表&#xff0c;右键复制结构即可 2.复制结构后&#xff0c;到pgAdmin中&#xff0c;将对应表下的…

Docker:技术架构的演进之路

前言 技术架构是指在软件开发和系统构建中&#xff0c;为了满足业务需求和技术要求&#xff0c;对系统的整体结构、组件、接口、数据流以及技术选型等方面进行的详细设计和规划。它是软件开发过程中的重要组成部分&#xff0c;为开发团队提供了明确的指导和规范&#xff0c;确…

A029-基于Spring Boot的物流管理系统的设计与实现

&#x1f64a;作者简介&#xff1a;在校研究生&#xff0c;拥有计算机专业的研究生开发团队&#xff0c;分享技术代码帮助学生学习&#xff0c;独立完成自己的网站项目。 代码可以查看文章末尾⬇️联系方式获取&#xff0c;记得注明来意哦~&#x1f339; 赠送计算机毕业设计600…

【flutter】flutter2升级到3.

文章目录 背景flutter2-3升级的修改之处界面效果其它 背景 以这个 https://github.com/aa286211636/Flutter_QQ 为例子&#xff0c; 升级下看看 flutter2-3升级的修改之处 flatButton变为TextButton设备屏幕尺寸获取: Screen.width(context)变为MediaQuery.of(context).size…

自由学习记录(21)

感觉反而 还复杂一点&#xff0c;关系并不纯粹&#xff0c;游戏里用的少...的确 是知道为什么游戏不用了 理解思想就可以了&#xff0c;实际操作也是动态的分析&#xff0c;硬套某种模式也不是怎么很合适 MVC的了解应该是差不多了&#xff0c;重点还是实际中的使用了 所以删了…

力扣-Mysql-3322- 英超积分榜排名 III(中等)

一、题目来源 3322. 英超积分榜排名 III - 力扣&#xff08;LeetCode&#xff09; 二、数据表结构 表&#xff1a;SeasonStats --------------------------- | Column Name | Type | --------------------------- | season_id | int | | team_id …

2023年高校大数据挑战赛A题中文文本纠错求解全过程文档及程序

2023年高校大数据挑战赛 A题 中文文本纠错 原题再现&#xff1a; 中文文本纠错的任务主要是针对中文文本中出现的错误进行检测和纠正&#xff0c;属于人工智能自然语言处理的研究子方向。中文文本纠错通常使用的场景有政务公文、裁判文书、新闻出版等&#xff0c;中文文本纠错…