插上充电器,安卓自动开机:Magisk Autoboot 实战上手
【免费下载链接】magisk-autoboota Magisk module to enable automatic booting/for turning on of your Android device when it's connected to a charger or USB.项目地址: https://gitcode.com/gh_mirrors/ma/magisk-autoboot
手机没电黑屏,插上充电线,几秒后屏幕自己亮了——安卓自动开机,就是这个 Magisk 模块(Magisk Autoboot)唯一要做的事:设备连上充电器或 USB 就充电自动启动,全程不用按电源键。
先看清楚:适合谁,不适合谁
它适合长期固定使用的设备:测试机位、门店展示机、常年插着电的车载主机,或者你就是不想每次手动按电源键。前提条件只有一条硬门槛:设备已用 Magisk 获得 root,且 Magisk 打在 boot 分区——通过 recovery 分区安装 Magisk 的设备,这个模块明确不支持。代价也要先摆上桌:安装过程会重写 boot 镜像,必须提前备份 boot.img;模块安装时会自动再备份一份,但小概率变砖的风险客观存在,深度定制的 OEM 机型甚至可能因为充电触发事件不匹配而完全不生效。
实现安卓自动开机,先确认这 4 件事
- 设备已 root,Magisk 能正常显示已安装
- Magisk 安装在 boot 分区(不是 recovery 分区)
- 原始 boot.img 已完整备份到 SD 卡或电脑
- 设备支持插充电触发开机——绝大多数机型支持,个别老机型不行,装完会验证
Magisk autoboot 安装与验证
第 1 步:拿到模块。从项目的 Release 页下载最新的 .zip 模块包;需要读源码的话,仓库可以直接克隆:
git clone https://gitcode.com/gh_mirrors/ma/magisk-autoboot完成标志:手里有一个模块 zip(安装只需要 zip,源码仓库供查阅)。
第 2 步:刷入。用 Magisk App 的"从存储安装"选择 zip 安装,或在 TWRP 中选择安装包,完成后按提示重启。
完成标志:重启后 Magisk App 的模块列表里出现 Magisk Autoboot,状态为已启用。
第 3 步:确认脚本已写入。在 Magisk 内置终端执行下面这条命令:
ls $(magisk --path)/sbin/autoboot.sh完成标志:输出文件路径,而不是 "No such file"。说明 init.autoboot.rc 和 autoboot.sh 已经打进 boot 镜像的 ramdisk。
第 4 步:验证安卓自动开机是否生效
长按电源键选择"关机",然后插上充电器或 USB 线,手离开设备。
完成标志:全程没有按过电源键,设备自己点亮并进入系统。电量低于 5% 时它会每 10 秒读一次电池容量,最多检查 6 次(约 1 分钟)后强制开机。如果设备只是停在充电界面不动,跳到下面"常见翻车排查"。
原理速览:充电自动启动是怎么触发的
安装时模块会把 boot 镜像解开,往 ramdisk 注入两个文件再重新打包刷回,内核和系统分区一概不动。第一个文件是 init.autoboot.rc,它同时监听on charger、ro.bootmode=charger、sys.boot_from_charger_mode=1三种充电事件,任何一个发生就执行第二个文件 autoboot.sh。脚本先读/sys/class/power_supply/battery/capacity:电量高于 5% 就通过 setprop 切回 normal 模式触发重启;低于 5% 就等待充电,上限 6 次;读不到电池文件的老设备直接重启。三种触发器全注入是为了覆盖不同厂商的充电事件命名,这也是它对多数机型"即装即用"的原因。
值得动的参数
参数都写在 autoboot.sh 里,改完重新刷一次模块生效。
| 参数 | 默认值 | 建议值 | 调整后果 |
|---|---|---|---|
| MIN_CAPACITY(最低电量阈值) | 5 | 5–10 | 调高:电量充到更高才开机,低电硬启动风险更小;但电池老化时可能等满 6 次仍不达标,最终低电强制开机 |
| MAX_ATTEMPTS(最大检查次数) | 6 | 4–6 | 调小:等待窗口缩短(单次间隔 10 秒),低电量更快被强制开机;调大:等得更久,极小电量下反而可能充不进电 |
| 检查间隔 sleep(秒) | 10 | 10 | 调小:轮询更频繁,意义不大,一般不动 |
常见翻车排查
装上不生效。三个动作按顺序做:一,确认magisk --path目录下 sbin 里有 autoboot.sh 和 init.autoboot.rc;二,确认 Magisk 装在 boot 分区——recovery 装法是模块文档里明说的不支持项;三,换一根线、换一个充电口、换一个充电器再试,排除线材和供电问题。
设备不兼容。README 列出的实测机型有 Redmi 4X(Android 10)、Samsung J3 2016(Android 7.1.2)、Redmi Note 11(Android 13)。OEM 定制较重的机型,充电事件可能不触发那三个 rc 条件,需要自己查设备对应的触发属性;Android 4–7 的老设备可以用官方 simple 版 zip,它只注入 rc 触发、不做电量检查。
要回滚。两条路:设备还能进系统时,直接在 Magisk 里卸载模块,卸载脚本会把安装时自动备份的原始 boot.img(存放在 /data/adb/modules/magisk-autoboot/ 下)刷回去;已经进不了系统时,用 TWRP 或 fastboot 刷回自己备份的 boot.img,再重新打 Magisk。
最后说清楚两件事
这个模块只解决一个问题:关机状态下插上充电器,设备自己开机,不碰其他任何功能。它适合有 root、Magisk 在 boot 分区、且需要无人值守开机的设备;如果你的主力机还在保修期内,或者设备是深度定制的 OEM 机型,先把 boot.img 备份做扎实,再决定要不要试。
【免费下载链接】magisk-autoboota Magisk module to enable automatic booting/for turning on of your Android device when it's connected to a charger or USB.项目地址: https://gitcode.com/gh_mirrors/ma/magisk-autoboot
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考