James Hoi's Blog

记录一下折腾小米盒子

Word count: 921Reading time: 3 min
2022/08/04 Share

家里的小米盒子是二代的,想解决看剧麻烦和广告的问题,关键是安卓系统还是4.4,好多软件不能装,网上的办法也不全,这里记录一下我自己的解决办法。

ROOT

对小米盒子进行一些操作时,难免会有权限问题,网上下个kingoroot,一键root,很快。成功后 adb shell并输入su命令即可进入root用户。kingroot.apk

禁用小米自带软件

网上一堆带有–user 0的办法,但貌似安卓4.4不支持,好在网上找到了办法,用 pm block <package>的办法,软件稍微有点多,所以随手写了个py脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

import os

a = ["com.xiaomi.mitv.appstore","com.xiaomi.mitv.shop","com.xiaomi.miplay","com.duokan.airkan.tvbox","com.xiaomi.tweather",
"com.xiaomi.tv.gallery","com.mitv.shoplugin","com.xiaomi.smarthome.tv","com.xiaomi.mitv.payment","com.xiaomi.mitv.advertise",
"com.mitv.tvhome","com.mitv.gallery"]
ip = ""

os.system("taskkill /f /t /im adb.exe")
os.system("adb connect "+ip)

for i in a:
os.system("adb shell pm uninstall "+i+"\n")
os.system("adb shell pm block "+i+"\n")

Kodi

kodi就不介绍了,但是在安卓4.4得安装特别版本的kodi kodi.apk

SmartTube

无广告YouTube,特别好用,不多介绍,自行去官网下载,开源项目SmartTubeNext

无广告桌面

这支持安卓4.4的桌面可真不好找,最后用的HALauncher_2.0.2.1,效果如图,可以自定义固定什么应用。

image-20220804144434969

自定义开机自启动

这一步属于是搞了半天,小米盒子系统下没有vim,传文件和复制代码弄起来很费劲。最终解决的方法如下:

  1. 由于要修改 /system目录下的文件,先在root用户下执行 mount -o rw,remount /system指令。
  2. /system/etc目录下新建install-recovery-2.sh,根据网上查的资料,install-recovery是在boot阶段的代码,可见此时很多应用或者服务还没启动,所以我写了个当小米桌面启动后启动我的应用的脚本。install-recovery-2.sh文件代码如下,其中monkey命令是真好用,不需要去查软件的activity是什么,settings put global adb_enabled 1为开启adb。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#!/system/bin/sh

echo '
#!/system/bin/sh

my_p=com.mitv.tvhome
while [ $( pgrep -f $my_p | wc -l ) -eq 0 ]
do
sleep 1
done
sleep 4
settings put global adb_enabled 1
monkey -p net.i.akihiro.halauncher -c android.intent.category.LAUNCHER 1
' > /data/init.sh

/data/init.sh &

不会用echo方法写入文件的,就先用adb复制进去,再操作

1
2
3
4
5
adb push install-recovery-2.sh /data/local/tmp
adb shell
su
mount -o rw,remount /system
cp /data/local/tmp/install-recovery-2.sh /system/etc/

最终效果特别好,小米盒子启动的icntv图标消失后,立刻就进入了HALauncher,如有需要开机自启动kodi之类的,可行修改代码。

代理

有试过在盒子上装软件,但clash不支持安卓4.4,ssr不稳定。最终解决方法是用家里的电脑的clash,再局域网挂代理。PS:我其实不知道settings有没有https_proxy这个,反正最后是没什么问题。

1
2
adb shell settings put global http_proxy 192.168.1.106:7890
adb shell settings put global https_proxy 192.168.1.106:7890

若要取消代理

1
2
adb shell settings put global http_proxy :0 
adb shell settings put global https_proxy :0

注意记得路由器上设置一下mac绑ip,避免代理ip被更改

其他

  1. 想用adb进行操作,参考这个。若要输入中文,用ADBKeyBoard
  2. 想要把文件从小米盒子系统里复制出来,参考下图,实测有效。原文链接

image-20220804151403110

  1. 建议还是不要操作 /system/app路径,删除或添加都有可能令盒子变砖,或卡死在icntv图标上
CATALOG
  1. 1. ROOT
  2. 2. 禁用小米自带软件
  3. 3. Kodi
  4. 4. SmartTube
  5. 5. 无广告桌面
  6. 6. 自定义开机自启动
  7. 7. 代理
  8. 8. 其他