首页 > 代码库 > Android KK后为何工厂模式下无法adb 无法重新启动机器 ?

Android KK后为何工厂模式下无法adb 无法重新启动机器 ?

前言
         欢迎大家我分享和推荐好用的代码段~~
声明
         欢迎转载,但请保留文章原始出处:
         CSDN
http://www.csdn.net
         雨季o莫忧离:http://blog.csdn.net/luckkof

正文

 

KK 以后 为何工厂模式下无法adb reboot ?

正常情况下adb reboot 能够重新启动。


[Keyword]
adb reboot, factory mode, 工厂模式, 工厂模式无法重新启动

[版本号约束]
android 4.4,  KK 或者KK 以后版本号
[Solution]
KK 以后 Google 将关机/重新启动的最后转移到了init 进程上运行。 其它Process 通过system property sys.powerctl 通知init 运行。


sys.powerctl 的配置在init.rc 其中,能够參考

on property:sys.powerctl=*
   powerctl ${sys.powerctl}
   
然后运行system/core/init/builtins.c#do_powerctl 函数。call android_reboot 重新启动或者关机。
为何工厂模式下无法adb reboot ?

正常情况下adb reboot 能够重新启动, 其关键就是由于mediatek/config/{platform}factory_init.rc 中未定义
on property:sys.powerctl=*
   powerctl ${sys.powerctl}
   
假设要加入此功能,仅仅有在factory_init.rc 中加入这两行就可以

Android KK后为何工厂模式下无法adb 无法重新启动机器 ?