網上能找到的幾篇教程都是安卓4.4、5.0時代的方法,安卓7.0+暫未有找到分享的方案,研究兩個晚上,終于研究出來這個方案,理論上通殺安卓6~10系統(2020-03-01測試一加5,安卓10有效)
用途:手機改造成車載GPS、行車記錄儀等等
轉載請注明出處!
轉載請注明出處!
轉載請注明出處!
需要的工具:
已root權限、已解BL鎖的安卓機器
【鏡像助手】負責提取和刷入boot.img
【鏡像工廠】負責boot.img的解包和打包
【MT管理器2.0】負責修改解包后的init.rc文件
提醒:
1、提前備份原版boot.img
記得備份!
記得備份!
記得備份!
以免翻車后求別人幫你提取~
2、墻裂建議先用twrp備份boot分區,翻車可直接進入rec恢復boot分區
3、不要直接修改根目錄下的init.rc,某些系統開機會校驗文件,修改過的文件會被直接覆蓋成原版的文件
4、本方案理論上通殺安卓6.0+系統,已在刷了LineageOS的一加5和小米Note3上測試通過(系統底層均為安卓8.1)
步驟:
①提取boot.img?
方法1:連接電腦,在電腦上用adb shell提取(自行百度)
方法2:手機端使用上面提到的工具提?。?/p>
【鏡像助手】提取boot.img,存放在內置儲存的根目錄下,boot.img
【鏡像工廠】其實也有提取和刷入功能,但本人的刷了LineageOS的一加5不知為何提取失敗,所以改用“助手”
②解包
【鏡像工廠】解包后存放路徑\ImageFactory\unpacked\boot.img_unpacked\
③修改init.rc
用【MT管理器2.0】打開“手機內置儲存\ImageFactory\unpacked\boot.img_unpacked\ramdisk\init.rc”,搜索關鍵詞“charger”,找到下面這一段代碼
on charger
class_start charger? ? ? ? #這句建議不刪,某些系統需要先進入charger流程,否則會卡第一屏
setprop sys.powerctl reboot? ? ? #在加入重啟命令
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?如圖??
保存,退出
④打包boot.img
用【鏡像工廠】打包,打包后存放在“手機儲存根目錄\ImageFactory\repacked”,用【鏡像助手】刷入即可
⑤測試
關機測試,插入充電線,手機自動開機,先執行充電流程,然后馬上重啟手機(重啟后就會走正常的開機流程了)
研究過程:
1、嘗試過把late-init(關機充電模式下長按電源鍵觸發的命令)下的命令直接轉移到on charger下,失敗
2、寫reboot命令的sh腳本,在init.rc內調用,失敗
最后還是受到(setprop ctl.start pre-recovery)這條進入recovery模式的命令啟發
,為何要舍近求遠,直接用init.rc專屬的AIL語言去重啟手機豈不是方便快捷?網上那些舊方法基本都是新建一個sh腳本,寫入reboot命令,還要考慮腳本權限等問題,其實最簡便有效的方法還是用AIL語言執行重啟
實踐后果然成功了,配合神器Tasker,即可實現車載GPS、車載行車記錄儀等功能。
原創內容,轉載請注明出處
參考鏈接
https://github.com/jaredrummler/android-shell-scripts/blob/master/scripts/reboot.sh
http://www.lxweimin.com/p/fc1469698848
https://zhuanlan.zhihu.com/p/34645631