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

news2024/11/18 4:41:58

问题背景

前置操作:

替换原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.coloradmin.cn/o/2242585.html

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

相关文章

【学习心得】数据分析三剑客跟学Gitee仓库

之前&#xff0c;自己在学习数据分析过程中的学习方法和思路&#xff0c;将那些摸索与实践中的心得体会分享出来&#xff0c;能够得到大家的喜欢、点赞我非常高兴&#xff0c;谢谢大家的支持&#xff01;这些正面的反馈对我来说&#xff0c;不仅是莫大的鼓励&#xff0c;更是持…

Vue 批量注册组件实现动态组件技巧

介绍 Vue 动态组件的应用场景很多,可应用于动态页签,动态路由等场景,其核心原理是批量注册。在Vue2和Vue3中实现原理相同,只是语法略有差异。 Vue2 实现 基于 webpack require.context() 是webpack提供的一个自动导入的API 参数1&#xff1a;加载的文件目录 参数2&#xff…

AndroidStudio-Activity的生命周期

一、Avtivity的启动和结束 从当前页面跳到新页面&#xff0c;跳转代码如下&#xff1a; startActivity(new Intent(源页面.this&#xff0c;目标页面.class))&#xff1b; 从当前页面回到上一个页面&#xff0c;相当于关闭当前页面&#xff0c;返回代码如下&#xff1a; finis…

DB-GPT系列(四):DB-GPT六大基础应用场景part1

一、基础问答 进入DB-GPT后&#xff0c;再在线对话默认的基础功能就是对话功能。这里我们可以和使用通义千问、文心一言等在线大模型类似的方法&#xff0c; 来和DB-GPT进行对话。 但是值得注意的是&#xff0c;DB-GPT的输出结果是在内置提示词基础之上进行的回答&#xff0c…

对PolyMarket的突袭

一天清晨六点&#xff0c;美国联邦调查局的探员冲进了纽约市的一间公寓。这间公寓的主人是26岁的Shane Copeland&#xff0c;一个有着凌乱头发的年轻人&#xff0c;也是一个加密货币狂热者。他运营着一个名为PolyMarket的网站——一个允许用户YZ全球事件结果的平台&#xff0c;…

DB_redis数据一致性(三)

前言 以mysql_redis 为例 介绍 数据一致性 1:数据一致行&#xff08;单进程/单线程&#xff09; 这个没什么说的&#xff0c;都是串行 2:数据一致行(多进程/多线程) 读的逻辑&#xff0c;先读缓存&#xff0c;缓存没有的话&#xff0c;就读数据库&#xff0c;然后取出数据后…

Jdbc学习笔记(三)--PreparedStatement对象、sql攻击(安全问题)

目录 &#xff08;一&#xff09;使用PreparedStatement对象的原因&#xff1a; 使用Statement对象编写sql语句会遇到的问题 ​编辑 &#xff08;二&#xff09;sql攻击 1.什么是sql攻击 2.演示sql攻击 &#xff08;三&#xff09;防止SQL攻击 1.PreparedStatement是什么 …

对称加密算法DES的实现

一、实验目的 1、了解对称密码体制基本原理 2、掌握编程语言实现对称加密、解密 二、实验原理 DES 使用一个 56 位的密钥以及附加的 8 位奇偶校验位&#xff0c;产生最大 64 位的分组大小。这是一个迭代的分组密码&#xff0c;使用称为 Feistel 的技术&#xff0c;其中将加密…

【Hadoop实训】Hive 数据操作②

延续上一篇文章&#xff0c;不懂的宝子们请看以下链接&#xff1a; 【Hadoop实训】Hive 数据操作①-CSDN博客 目录 一、Group by 语句 (1)、计算emp表每个部门的平均工资 (2)、计算emp表每个部门中每个岗位的最高工资 二、Having 语句 (1)、求每个部门的平均工资 (2)、求每个…

centos7 升级openssl 与升级openssh 安装卸载 telnet-server

前言&#xff1a; 服务器被安全扫描&#xff0c;扫出了漏洞需要修复&#xff0c;根据提示将openssh升级为9.8p1的版本&#xff0c;同时需要升级openssl&#xff0c;但是升级openssh可能会导致ssh连接失败&#xff0c;从而无法继续操作&#xff0c;特别是远程机房尤为危险&#…

Notepad++的完美替代

由于Notepad的作者曾发表过可能在开发者代码中植入恶意软件的言论&#xff0c;他备受指责。在此&#xff0c;我向大家推荐一个Notepad的完美替代品——NotepadNext和Notepad--。 1、NotepadNext NotepadNext的特点&#xff1a; 1、跨平台兼容性 NotepadNext基于Electron或Qt…

大语言模型LLM综述

一、LM主要发展阶段 1.1、统计语言模型SLM 基于统计学习方法&#xff0c;基本思想是基于马尔可夫假设HMM建立词概率预测模型。如n-gram语言模型 1.2、神经语言模型NLM 基于神经网络来做词的分布式表示。如word2vec模型 1.3、 预训练语言模型PLM 预训练一个网络模型来做词表…

腾讯IM web版本实现迅飞语音听写(流式版)

本文基于TUIKit Demo项目集成迅飞语音听写&#xff08;流式版&#xff09;功能&#xff1a; 主要代码&#xff1a; // \src\TUIKit\components\TUIChat\message-input\index.vue <template><!-- 录音按钮 --><div touchstart.stop"touchstart" />…

2024140读书笔记|《作家榜名著:生如夏花·泰戈尔经典诗选》——你从世界的生命的溪流浮泛而下,终于停泊在我的心头

2024140读书笔记|《作家榜名著&#xff1a;生如夏花泰戈尔经典诗选》——你从世界的生命的溪流浮泛而下&#xff0c;终于停泊在我的心头 《作家榜名著&#xff1a;生如夏花泰戈尔经典诗选》[印]泰戈尔&#xff0c;郑振铎译&#xff0c;泰戈尔的诗有的清丽&#xff0c;有的童真&…

物理hack

声明 声明 文章只是方便各位师傅学习知识&#xff0c;以下网站只涉及学习内容&#xff0c;其他的都与本人无关&#xff0c;切莫逾越法律红线&#xff0c;否则后果自负。 ✍&#x1f3fb;作者简介&#xff1a;致力于网络安全领域&#xff0c;目前作为一名学习者&#xff0c;很荣…

【运维实施资料集】软件全套运维,实施管理方案,运维建设方案,运维检查单,软件项目运维方案(word原件)

1 编制目的 2 系统运行维护 2.1 系统运维内容 2.2 日常运行维护方案 2.2.1 日常巡检 2.2.2 状态监控 2.2.3 系统优化 2.2.4 软件系统问题处理及升级 2.2.5 系统数据库管理维护 2.2.6 灾难恢复 2.3 应急运行维护方案 2.3.1 启动应急流程 2.3.2 成立应急小组 2.3.3 应急处理过程 …

大学语文教材电子版(第十一版)教学用书PDF及课件

大学语文课件&#xff1a;https://caiyun.139.com/m/i?005CiDusEVWnR 《大学语文》&#xff08;第十一版&#xff09;主编&#xff1a;徐中玉 齐森华 谭帆。 大学语文教材电子版教师用书PDF第一课《齐桓晋文之事》艺术赏析&#xff1a; 孟子四处游说&#xff0c;养成善辩的…

java模拟键盘实现selenium上下左右键 table中的左右滚动条实现滚动

在这篇文章中&#xff0c;我们将学习如何使用Java编程语言模拟键盘输入&#xff0c;特别是模拟上下左右方向键的操作。这是一个很有趣的项目&#xff0c;尤其适合刚入行的开发者。我们将分步进行&#xff0c;接下来&#xff0c;我们会通过表格展示整个实现过程&#xff0c;然后…

量子计算与人工智能的交汇:科技未来的新引擎

引言 在当今飞速发展的科技世界&#xff0c;人工智能&#xff08;AI&#xff09;和量子计算无疑是最受瞩目的两大前沿领域。人工智能凭借其在数据处理、模式识别以及自动化决策中的强大能力&#xff0c;已经成为推动各行业数字化转型的重要力量。而量子计算则通过颠覆传统计算机…

【Oracle篇】掌握SQL Tuning Advisor优化工具:从工具使用到SQL优化的全方位指南(第六篇,总共七篇)

&#x1f4ab;《博主介绍》&#xff1a;✨又是一天没白过&#xff0c;我是奈斯&#xff0c;DBA一名✨ &#x1f4ab;《擅长领域》&#xff1a;✌️擅长Oracle、MySQL、SQLserver、阿里云AnalyticDB for MySQL(分布式数据仓库)、Linux&#xff0c;也在扩展大数据方向的知识面✌️…