网上能找到的几篇教程都是安卓4.4、5.0时代的方法,安卓7.0+暂未有找到分享的方案,研究两个晚上,终于研究出来这个方案,理论上通杀安卓6~10系统(2020-03-01测试一加5,安卓10 红米 note4 有效 )

用途:手机改造成车载GPS、行车记录仪等等

需要的工具:

已root权限、已解BL锁的安卓机器
【镜像助手】 负责提取和刷入boot.img

【镜像工厂】 负责boot.img的解包和打包

【MT管理器2.0】 负责修改解包后的init.rc文件


提醒:

  1. 提前备份原版boot.img

记得备份!

记得备份!

记得备份!

以免翻车后求别人帮你提取~

  1. 墙裂建议先用twrp备份boot分区,翻车可直接进入rec恢复boot分区
  2. 不要直接修改根目录下的init.rc,某些系统开机会校验文件,修改过的文件会被直接覆盖成原版的文件
  3. 本方案理论上通杀安卓6.0+系统,已在刷了LineageOS的一加5和小米Note3上测试通过(系统底层均为安卓8.1)

步骤:

①提取boot.img

方法1:连接电脑,在电脑上用adb shell提取(自行百度)

方法2:手机端使用上面提到的工具提取:

【镜像助手】提取boot.img,存放在内置储存的根目录下,boot.img

【镜像工厂】其实也有提取和刷入功能,但本人的刷了LineageOS的一加5不知为何提取失败,所以改用“助手”

②解包

【镜像工厂】解包后存放路径ImageFactoryunpackedboot.img_unpacked\

③修改init.rc

用【MT管理器2.0】打开“手机内置储存ImageFactoryunpackedboot.img_unpackedramdiskinit.rc”,搜索关键词“charger”,找到下面这一段代码

on charger
class_start charger        **#这句建议不删,某些系统需要先进入charger流程,否则会卡第一屏**
setprop sys.powerctl reboot   **   #在加入重启命令**


保存,退出

④打包boot.img

用【镜像工厂】打包,打包后存放在“手机储存根目录ImageFactoryrepacked”,用【镜像助手】刷入即可

⑤测试

关机测试,插入充电线,手机自动开机,先执行充电流程,然后马上重启手机(重启后就会走正常的开机流程了)

研究过程:

  1. 尝试过把late-init(关机充电模式下长按电源键触发的命令)下的命令直接转移到on charger下,失败
  2. 写reboot命令的sh脚本,在init.rc内调用,失败

最后还是受到(setprop ctl.start pre-recovery)这条进入recovery模式的命令启发

,为何要舍近求远,直接用init.rc专属的AIL语言去重启手机岂不是方便快捷?网上那些旧方法基本都是新建一个sh脚本,写入reboot命令,还要考虑脚本权限等问题,其实最简便有效的方法还是用AIL语言执行重启

实践后果然成功了,配合神器Tasker,即可实现车载GPS、车载行车记录仪等功能。

引用自:「简书-随风_荡」

Last modification:November 28, 2021
如果觉得我的文章对你有用,请帮忙点一下上面的广告