app设置为HomeLauncher后,如果进行adb install安装,界面会黑屏问题排查记录

发布时间:2023年12月20日

一、开始以为是PMS的问题,但是读完PackageManagerService.java的安装流程后发现并不是这么回事。

其中比较重要的是freezePackageForInstall函数,app在替换原来的内容之前,会先冻住正在运行的app,然后发送kill命令到ActivityManagerService,在AMS中才会去kill掉app。而且adb install后提示的结果是在PackageManagerService里决定的,结果返回的是Succeed。打日志到在最后清理数据时,都是正常运行的。所以在PMS里面并没有

二、然后在AMS中的探索

发现PMS对于App的操作最后都是在AMS中进行的,冻结app、杀死app、恢复app等,然后都过是socket的方式,异步执行的。
Java代码中插入堆栈打印的方法如下:

import android.util.Log;

Log.d
文章来源:https://blog.csdn.net/ch122633/article/details/134942337
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。