安装教程 —— 把魔百盒 HG680-R 变成「桌面小电脑」

OpenHW Lab · 约 40–60 分钟 · 适用 魔百盒 HG680-R(MStar 平台 / Android 4.4.4)。

0. 你需要

1. 认清盒子

getprop ro.product.model      # HG680-R
getprop ro.board.platform     # clippers
getprop ro.build.version.release  # 4.4.4

2. 打开控制通道(ADB over TCP,本 ROM 需授权)

盒子里(串口)先起 adbd:

setprop service.adb.tcp.port 5555
start adbd

电脑 adb connect <盒子IP>:5555。若显示 offline/unauthorized(本 ROM 会),把电脑公钥写进盒子:

# 串口里(可 root):把 ~/.android/adbkey.pub 的内容分块写入
su 0 sh -c "mkdir -p /data/misc/adb"
su 0 sh -c "echo -n '<公钥前半段>' > /data/misc/adb/adb_keys"
su 0 sh -c "echo -n '<公钥后半段>' >> /data/misc/adb/adb_keys"
su 0 sh -c "echo >> /data/misc/adb/adb_keys"      # 结尾换行
su 0 setprop ctl.restart adbd
⚠️ 本机 su 0 <cmd> 可用;su -c "长串" 不行。

3. 一键安装

cd install
./一键安装.sh <盒子IP>

4. 手动要点(与一键等价)

4.1 桌面 App + 设默认 HOME

adb push install/桌面.apk /data/local/tmp/desk.apk
adb shell 'pm install -r /data/local/tmp/desk.apk'
adb shell 'am start -n com.openhwlab.desktop/.MainActivity'
adb shell 'pm disable com.fiberhome.iptv'     # 禁运营商桌面(可 pm enable 还原)

桌面图标双击打开;含 浏览器/当贝市场/当贝投屏/电视直播/回收站/设置… 等。

4.2 浏览器 Firefox(桌面版)

装 armv7 的 Firefox 68 多语言(org.mozilla.firefox)后,写桌面UA配置:

P=$(adb shell 'ls -d /data/data/org.mozilla.firefox/files/mozilla/*/ | head -1')  # profile目录
adb push install/firefox-user.js ${P}user.js
adb shell 'am force-stop org.mozilla.firefox'      # 重启生效
adb shell 'pm disable com.android.browser'         # 否则点链接弹选择框

firefox-user.js 里含:Windows 桌面 UA、desktopWidth=1280、关字体膨胀、DPR=1、单标签、主页=百度、关会话恢复。

4.3 瘦身 + 内存扩容

adb push install/1-系统瘦身.sh /data/瘦身.sh; adb shell 'sh /data/瘦身.sh'
adb push install/2-内存扩容.sh /data/扩容.sh; adb shell 'sh /data/扩容.sh'

4.4 子系统 + 局域网互传(:8890)

建 Ubuntu 20.04 armhf 子系统到 /data/linux(chroot,盒子能上网可直接 apt):

# 解包 ubuntu-base-20.04.5-base-armhf.tar.gz 到 /data/linux;挂 proc/sys/dev
# 子系统内: apt-get install -y --no-install-recommends python3   (互传用)
# 二维码库(可选): pip install qrcodegen
adb push install/5-局域网互传.py   /data/linux/root/transfer.py
adb push install/6-系统工具服务.py /data/linux/root/boxctl.py

4.5 开机自启(本 ROM 专属)

钩到 /system/bin/opt/etc/init.fhservice.sh(开机执行)→ 调 /data/startlinux.sh:

adb push install/开机自启-盒子.sh /data/startlinux.sh
adb shell 'chmod 755 /data/startlinux.sh'
adb shell 'mount -o remount,rw /system'
adb shell '[ -f /system/bin/opt/etc/init.fhservice.sh.bak ] || busybox cp /system/bin/opt/etc/init.fhservice.sh /system/bin/opt/etc/init.fhservice.sh.bak'
adb shell 'echo "sh /data/startlinux.sh >/dev/null 2>&1 &" >> /system/bin/opt/etc/init.fhservice.sh'

/data/startlinux.sh:等 sys.boot_completed=1 → 挂子系统 → start-stop-daemon 起 transfer/boxctl → swap → setprop ctl.restart adbd(带 5555 端口)。

4.6 (可选)鼠标指针补丁:手→箭头 + 去白圈

本 ROM 系统指针是"手"、且指针处有白圈。刷入本目录已改好的 framework-res.patched.apk:

adb shell 'mount -o remount,rw /system'
adb shell 'cp /system/framework/framework-res.apk /data/fwres.bak'      # 备份
adb push install/framework-res.patched.apk /system/framework/framework-res.apk
adb shell 'chmod 644 /system/framework/framework-res.apk; reboot'
改动:res/drawable-hdpi/pointer_arrow.png→箭头;res/drawable-xhdpi/pointer_spot_{hover,touch,anchor}.png→透明。
⚠️ 改核心包有风险(本次实测开机正常);还原:cp /data/fwres.bak /system/framework/framework-res.apk 后重启。

5. 重启验证

adb shell 'reboot'
# 等 ~2 分钟
ping <盒子IP>
adb connect <盒子IP>:5555; adb shell 'dumpsys window windows | busybox grep mCurrentFocus'  # 桌面
curl -s -o /dev/null -w '%{http_code}\n' http://<盒子IP>:8890/   # 200

日常使用

常见问题

—— OpenHW Lab · 智能硬件开放实验室 · hi@openhwlab.com