[AOSP] 开机卡Logo问题分析

本文指导如何诊断Android设备启动时卡住logo的问题,涉及kernel层、selinux、分区检查、硬件故障及systemServer/PackagesManagerService的运行异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. 首先要区分卡第一帧logo还是卡第二帧logo,注意kernel层进入到用户空间层,会走first,selinux,second三大阶段,这三大阶段执行完成init进程才算启动完成
  2. 如果是卡第一帧logo,需要排查系统启动进行到哪个阶段了,如果first阶段执行完成后是有kernel日志输出的,还有看看kernel的lk是否有成功启动或者异常信息
  3. 如果是卡第二帧logo,说明是执行到了second阶段,init.rc已经解析,主要排查zygote重启的原因
  4. 如果是卡第一帧logo,都可以尝试替换只读分区,定位问题发生在哪个分区上,先回读super分区,把vendor,product,system(_ext)解包出来,和正常的super分区进行二进制比较,查看这些只读分区内容是否发生修改,确认分区问题,再将正常的super分区刷进手机中,查看能否正常,如果vendor和product分区内容被改变,则dm-verity会校验失败,无法开机。
  5. 如果概率性不卡logo,概率性开机,大概率是硬件问题,例如emmc问题,ddr跳变等,可以替换硬件查看问题是否解决。
  6. 如果刷机后问题仍然存在,那百分百肯定是硬件问题
  7. 自己遇到过卡第二帧logo,是因为systemServer调用startBootstrapServices启动PackageManagerService中出现问题,找不到installer,因为data分区会存放一份PMS数据,但是PMS已经丢失,无法找到installer,原因是因为突然断电,数据丢失
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值