安卓 4.4.2 电视盒子 ADB 设置应用开机自启动
目录
- 一、前言
- 二、前期准备
- 1. 设备要求
- 2. 工具准备
- 三、核心步骤
- 第一步:开启 ADB 调试并连接设备
- 第二步:获取应用启动入口(主 Activity)
- 第三步:创建开机启动脚本
- 第四步:推送脚本到盒子并配置权限
- 关键解决:系统分区只读问题
- 第五步:重启验证
- 四、常见问题解决
- 1. 脚本复制提示「No such file or directory」
- 2. 应用未自动启动
- 3. mount 挂载失败
- 五、总结
一、前言
本文适用于安卓 4.4.2(API 19)系统的电视盒子,通过 ADB 工具 + 脚本方式实现指定应用开机自启动,解决了应用未声明开机广播权限、系统分区只读等常见问题,全程无需复杂操作,新手也能快速上手。
二、前期准备
1. 设备要求
-
安卓 4.4.2 系统电视盒子(已 root,关键前提)
-
电脑(Windows/Mac/Linux 均可)
-
盒子与电脑连接同一局域网
2. 工具准备
-
ADB 工具包:下载 Android SDK Platform Tools,解压后获取
adb.exe(Windows)或adb(Mac/Linux) -
目标应用包名:本文以
mygica.media.center为例(需替换为你的应用包名)
三、核心步骤
第一步:开启 ADB 调试并连接设备
- 开启盒子 ADB 调试
-
盒子设置 → 关于 → 连续点击版本号 7 次,开启开发者模式
-
返回设置 → 开发者选项 → 勾选「USB 调试」(部分设备显示「网络 ADB 调试」)
- 获取盒子 IP 地址
- 盒子设置 → 网络 → 查看当前连接的 Wi-Fi / 有线网络详情,记录 IP(如
192.168.1.100)
- ADB 连接设备
-
电脑打开命令提示符(Windows)/ 终端(Mac/Linux),进入 ADB 工具目录
-
执行连接命令:
adb connect 192.168.1.100 # 替换为你的盒子IP
- 首次连接需在盒子上确认「允许调试」,勾选「始终允许此计算机」
- 验证连接
adb devices
显示192.168.1.100:5555 device即为连接成功
第二步:获取应用启动入口(主 Activity)
由于部分应用未声明主 Activity,需手动获取:
-
手动启动应用:在盒子上打开目标应用(
mygica.media.center),保持前台运行 -
执行 ADB 命令获取当前 Activity:
adb shell dumpsys activity activities | grep "mFocusedActivity"
-
提取有效信息:
输出示例:
mFocusedActivity: ActivityRecord{4244xxxx u0 mygica.media.center/.Main t4}核心启动入口:
mygica.media.center/.Main(记录此内容,后续用)
第三步:创建开机启动脚本
- 新建脚本文件:在电脑上新建文本文件,命名为
autostart.sh,内容如下:
#!/system/bin/sh
# 延迟25秒(适配安卓4.4.2启动速度,可调整为20-35秒)
sleep 25
# 启动目标应用(替换为第二步获取的启动入口)
am start -n mygica.media.center/.Main
- 保存脚本:确保文件编码为 UTF-8,放在 ADB 工具同一目录下
第四步:推送脚本到盒子并配置权限
关键解决:系统分区只读问题
- 进入 ADB Shell 并获取 root 权限:
adb shellsu # 盒子弹出root授权提示,点击允许(命令行显示#表示成功)
- 查看 /system 分区挂载状态:
mount | grep /system
输出示例:/dev/block/system /system ext4 ro,noatime,...(ro表示只读)
- 挂载 /system 为可读写模式:
mount -o remount,rw /dev/block/system /system
验证挂载成功:再次执行mount | grep /system,显示rw即为成功
- 推送并配置脚本:
# 复制脚本到系统启动目录
cp /sdcard/autostart.sh /system/etc/init.d/# 赋予脚本执行权限(必须步骤)
chmod 755 /system/etc/init.d/autostart.sh
- 恢复 /system 为只读模式:
mount -o remount,ro /dev/block/system /system
- 退出 Shell:
exit
第五步:重启验证
执行重启命令,等待 30 秒左右查看应用是否自动启动:
adb reboot
四、常见问题解决
1. 脚本复制提示「No such file or directory」
-
原因:
/system/etc/init.d目录不存在(厂商定制系统) -
解决方案:改用
/data分区路径
sucp /sdcard/autostart.sh /data/local/chmod 755 /data/local/autostart.shecho "/data/local/autostart.sh" >> /data/local/userinit.sh
2. 应用未自动启动
-
调整脚本延迟时间:将
sleep 25改为sleep 35,重新推送配置 -
检查 root 权限:确保
su命令执行成功(命令行显示 #) -
验证启动命令:手动执行
adb shell am start -n mygica.media.center/.Main,确认应用能启动
3. mount 挂载失败
-
原因:设备未真正 root(仅表面授权)
-
解决方案:重新刷入完整 root 权限包(如 Magisk、SuperSU)
五、总结
安卓 4.4.2 电视盒子通过「ADB+root+init.d 脚本」实现应用开机自启动,核心在于:
-
正确获取应用启动入口(主 Activity)
-
解决 /system 分区只读问题(挂载为可读写)
-
合理设置延迟时间(确保系统加载完成)
该方法兼容性强,无需修改应用本身,适合大多数旧版安卓电视盒子。
