Android机顶盒 安装APP实例
目标
实现往Android联通机顶盒安装APP,比如投屏类APP(比如:乐播投屏),桌面类APP(比如:沙发桌面,当贝桌面)
已选择N1盒子等性能更强劲的硬件的朋友,可参见: 网络影视资源 - IPTV直播之电视台直播源
环境
联通 创维机顶盒:E900V21C (安卓4.4系统)
Mac(windows也一样,找相应平台的软件即可)
- Terminal
- 系统自带工具
- (windows对应的工具叫cmd)
- adb
- 如何安装:MAC下安装adb环境的三种方式
- 我使用的是第一种方式,因为本身就用Andriod的IDE Andriod Studio
- 然后关键的步骤就是往Terminal里输入命令把sdk的platform-tools写到系统的环境变量中,具体如下:
- echo ‘export ANDROID_HOME=/Users/$USER/Library/Android/sdk’ >> ~/.bash_profile
echo ‘export PATH=${PATH}:$ANDROID_HOME/platform-tools’ >> ~/.bash_profile
- echo ‘export ANDROID_HOME=/Users/$USER/Library/Android/sdk’ >> ~/.bash_profile
或者直接运行:
1 | export ANDROID\_HOME=/Users/$USER/Library/Android/sdk |
然后即可 adb
Windows也一样的,目录变一下而已,或者直接cd到….Android/sdk 目录(搜索一下adb应用程序在那个目录)
最新反馈(2023年12月)
开启adb以后;不过几分钟,就会自动关闭掉
1 | adb connect 192.168.1.4:5555 |
1 | adb install "/Users/carlzeng/Downloads/八爪鱼遥控TV【公众号木鱼黑科技】(1).a |
如何解决开机自启动APP的问题?
用adb,开启机顶盒中的APP(因为目前联通已经不给界面打开这些自定义的APP了)
adb shell am start -n 包名(package)
#查看安装的第三方app的包名
adb shell pm list packages -3
1 | adb shell pm list packages -3 |
1 | #启动这个monitor,当app卡死的时候,可以管理kill掉,让UI重新活起来 |
安装Autostarts(andriod盒子 管理启动项目)
测试下载地址:https://www.onlinedown.net/soft/701509.htm
安装了这个andriod盒子 管理启动项目,就可以控制什么启动,什么不许启动。
电脑传文件到盒子(adb命令:adb push)
adb push bj-unicom-iptv-V20230213.m3u /tmp/bj-unicom-iptv-V20230213.m3u
1 | > adb push /Users/carlzeng/AppTesting/bj-unicom-iptv-V20230213.m3u /storage/sdcard0/1.m3u |
面临问题:perfect player中,无法点击确认按钮,系统默认的键盘,没有tab键(只能‘下一步’到取消键)
adb shell am start com.shafa.launcher
在启动perfect player
注意:这个电视盒子安装perfect player,必须使用本地文件来加载m3u文件来播放(假如使用网络地址将无法加载)
adb 发送tab按键
adb shell input keyevent 控制按键输入
1 | adb shell input keyevent 61 |
成功把1.m3u配置给了perfect player
20240223, 发现DIYP无法在安卓4.4的这类低版本的安卓系统中运行。
20240121, 发现Perfect Player非常不适合于播放组播地址,切换到diyp这个工具,通过把m3u文件转化为txt文件,做为diyp的播放源,步骤如下:
更换Perfect Player为DIYP
使用在线工具https://guihet.com/tvlistconvert.html#zbyjg将组播地址的m3u文件格式转化为txt文件格式。(比如取名为1.txt)
上传1.txt文件(到安卓创维机顶盒:E900V21C)
- adb push /Users/carlzeng/AppTesting/IPTV-Unicom-Multicast.txt /tmp/1.txt
- 注意:此时本机的网络需要处于光猫相同的网络,一般为192.168.1.*网段的IP地址;可以通过连接到路由器然后手动设置本机IP地址为192.168.1.0网段的IP,也可以直接通过连接光猫的WIFI自动获取一个192.168.1.0网段的IP。
将DIYP的播放地址源(节目地址)设置为/tmp下的1.txt
从adb命令,把要输入的内容发送到机顶盒:
adb shell input text /tmp/1.txt #使用说明 > adb shell input [] [] Usage: input [<source>] <command> [<arg>...] The sources are: trackball joystick touchnavigation mouse keyboard gamepad touchpad dpad stylus touchscreen The commands and default sources are: text <string> (Default: touchscreen) keyevent [--longpress] <key code number or name> ... (Default: keyboard) tap <x> <y> (Default: touchscreen) swipe <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen) press (Default: trackball) roll <dx> <dy> (Default: trackball)
1
2
3
4
5
6
7
8
9
10
11
12
3. 太可惜了,它DIYP必须配置一个http的源地址,可是光猫上面和安卓机顶盒上192.168.1.0网段没有权限把1.txt喂给http,放弃该方案
4.
5. 最后是把机顶盒链接到WIFI环境(这样具备的外网功能),然后让DIYP使用
6. bj-unicom-iptv-udpxyInternet-V20240126.txt
```txt
最终转化地址(m3u至txt):
https://c.carlzeng.com:4443/tvtxt
成功的文件上传命令举例:
1 | adb push /Users/carlzeng/AppTesting/IPTV-Unicom-Multicast.txt /sdcard/1.txt |
上传后,盒子中的文件路径为:/storage/sdcard0/1.txt
步骤
- 将E900机顶盒和Mac电脑连接到相同的局域网
- 安装好adb工具并设置了环境变量以后,打开Terminal,输入adb –version 验证一下adb可以正常运行,在进行下一步
- 把北京联通创维E900机顶盒的adb功能打开,具体方法:按遥控的“设置”,进到高级设置,
- 最里面有很多看不懂的设置项选择列表后,按遥控的右键(指遥控的上下左右按键中的右键),连续按十下 至 15下
- 这时选项列表最下方会多出一个新的选项(隐藏选项),打开ADB的选项(再右键,确定打开ADB远程调试)
- 从机顶盒设置里面或者路由器的设置中,找到机顶盒当前的IP地址,比如192.168.1.171;
- Terminal输入 adb connect 192.168.2.171:5555 进行连接。
1
2
3_adb connect 192.168.2.171:5555
或者
_/Users/$USER/Library/Android/sdk/platform-tools/adb connect 192.168.2.171:5555
- Terminal输入 adb connect 192.168.2.171:5555 进行连接。
- Terminal输入 adb install com.shafa.zhuomian_2.2.3_aged.apk 进入操作Andriod安装命令
- 这个apk文件,要从网络上下载到本机的目录中,然后把Terminal调整到当前apk文件所在目录(命令为 cd 具体目录)
- 安装命令举例:adb install ****.apk
1
2
3adb install com.shafa.zhuomian\_2.2.3\_aged.apk
或者
/Users/$USER/Library/Android/sdk/platform-tools/adb install /Users/$USER/Downloads/international\_sfgj\_4.9.25.apk
- 【可选】运行安装完成后,就可以用遥控器启动这些新的应用APP;也可以使用命令强制运行(唤醒/打开)特定的APP应用
- adb shell
- am start -a android.intent.action.VIEW
(也可以合并为一个命令:adb shell am start android.intent.action.VIEW) - App的名字可以使用如下命令列出(或者使用沙发桌面列出已安装的APP)
- adb shell pm list packages
引用
- MAC下安装adb环境的三种方式 https://www.jianshu.com/p/744fc5946627
- adb常用命令 https://developer.android.google.cn/studio/command-line/adb?hl=zh-cn
- Android adb启动任意app的几种方式 https://blog.csdn.net/ezconn/article/details/99885715
感想与体验
放到最后写,感想与体验:
安装一些安卓APP,开启沙发桌面以后,发现创维E900机顶盒有wifi功能,并且支持有线和WIFI同时分别在不同的网段下使用,这就意味着连接网线看IPTV(不影响网速)
连接WIFI后,机顶盒就可以上网,运行别的实时直播APP(比如:电视家)。这是一个很有意思的使用角度,很方便。
以前中兴的机顶盒都是需要手动去拔查不同的网线(或者使用支持组播iptv协议的路由器)来切换联通内网和外网。
现在可以根据你打开的APP,自动选择可用的网络;
默认的IPTV依然走内网,其他APP(比如:悟空遥控)走外网WIFI接口。
话说回来:第一次这样在机顶盒端安装了悟空遥控以后,再去安卓手机端安装悟空遥控;以后就方便了:
- 让手机和机顶盒连接到相同的局域网
- 打开手机端的悟空遥控,和机顶盒端悟空遥控APP
- 在手机端的悟空遥控操作,把新的APK推送到电视机顶盒端即可
关联:远程给机顶盒安装APP
要解决机顶盒连接二楼旁路由器,而远程协助的手机连接的是一楼的主路由
如何知道悟空遥控是开放了什么端口?
这样打开才能正常扫描到机顶盒的
2024.1
不用这么麻烦frp把机顶盒的5555端口映射/穿透出内网
然后用adb -s frp的对应ip或域名:5555 install ***.apk
比如: adb -s 192.168.6.216:5555 install ‘abc.apk’
悟空遥控器 VPN
悟空遥控器、遥控精灵、手机万能遥控器等是如何搜索本地局域网机顶盒?换句话说机顶盒端开放了那个tcp端口?
1 | 用Zenmap扫描了一下: |
Option #2
Minimal Docker image with Nmap Network Security Scanner pre-installed.
Option #3
Nmap on minimum, modern and secure Alpine distribution (23.95 MB)
1 | docker run k0st/nmap -A scanme.nmap.org #这个比较全面!好用,检测端口内的服务信息 |
悟空遥控 替代:八爪鱼遥控-安卓
电视端下载:https://wwpv.lanzoue.com/iAXn61ezyrah 密码:63ye
手机端下载:https://wwpv.lanzoue.com/i70xA1ezys4h 密码:hnbk
N1刷webpad电视系统
斐讯N1 webpad电视系统内存写入、openwrtU盘启动演示