美文网首页
android手机无法开机到桌面问题,定位方法

android手机无法开机到桌面问题,定位方法

作者: 代码GG陆晓明 | 来源:发表于2018-06-30 17:10 被阅读100次
    image

    关于启动过程的流程,详见之前的一篇技术文档。

    Android 启动过程框架

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

    主要步骤为:

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

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

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

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

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

    image

    的catch加上断点,此处可以追踪到启动服务中的各类异常。具体调试方案,详见

    app和SystemProcess调试方案

    深入Android源码系列(一)

    SDL系列讲解(五) 调试c代码

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

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

    image

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

    image

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

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

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

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

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

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

    image

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

    image

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

    以上,就是今天的分享,喜欢就转发,赞赏明哥,支持下。


    明哥家的冬枣成熟了,可以保证的是:脆甜,新鲜。品尝过的老铁们觉得好,可以推荐给朋友哈。

    如果你跟我比较熟的话,可以先行邮寄,尝过后再支付。一切,都建立在相互不欺。实物图:(订购合作加微信 code_gg_boy )

    相关文章

      网友评论

          本文标题:android手机无法开机到桌面问题,定位方法

          本文链接:https://www.haomeiwen.com/subject/rpztuftx.html