android 不显示任务栏全屏显示 安卓不显示桌面_android 不显示任务栏全屏显示



这节我们来进行分析,跟踪下如何定位无法启动到桌面的问题。


主要步骤为:


先看启动时的logo,第二次logo会有个亮屏,看到这个,说明linux底层没啥问题,出现问题会在system_server里面。


如果没有看到,就去定位是否驱动出现故障,具体的如果是mtk,可以去看/proc/bootprof文件,查看在哪个阶段出现问题。


只需一个命令,快速定位android的启动耗时


如果在开机动画这里,动画结束了,没有进入桌面。


这里在SystemServer.java 里面,system_server进程中在


android 不显示任务栏全屏显示 安卓不显示桌面_java_02


的catch加上断点,此处可以追踪到启动服务中的各类异常。


服务启动ok,没有异常的时候,在此文件的  startSystemUi(context, windowManagerF);打上断点。


此处确定下是否进入了systemui进程。同时在


android 不显示任务栏全屏显示 安卓不显示桌面_java_03


KeyguardServiceDelegate.java的bindService方法,来看下是否成功绑定了锁屏服务。


android 不显示任务栏全屏显示 安卓不显示桌面_java_04


这里在调试时候,用了am命令,进行调试,验证。

am startservice "com.android.systemui/.ImageWallpaper"

am startservice com.android.systemui/com.android.systemui.keyguard.KeyguardService


先启动壁纸,将systemui进程拉起来。

在启动锁屏服务,看是否ok。

在此过程,要调试启动服务是否正常,在 ActivityThread.java (systemui进程)


android 不显示任务栏全屏显示 安卓不显示桌面_锁屏_05


里面handleCreateService 进行调试,在 service.onCreate();这里的catch进行下断,看下是否有异常。


android 不显示任务栏全屏显示 安卓不显示桌面_java_06


在此过程,可以使用hierarchyviewer.bat查看视图,看下是否有界面出现,是否ok。


以上,就是明哥今天的分享。