目标
实现往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
或者直接运行:
export ANDROID\_HOME=/Users/$USER/Library/Android/sdk
export PATH\=${PATH}:$ANDROID\_HOME/platform-tools
然后即可 adb
Windows也一样的,目录变一下而已,或者直接cd到….Android/sdk 目录(搜索一下adb应用程序在那个目录)
最新反馈(2023年12月)
开启adb以后;不过几分钟,就会自动关闭掉
adb connect 192.168.1.4:5555
failed to connect to '192.168.1.4:5555': Network is unreachable
adb install "/Users/carlzeng/Downloads/八爪鱼遥控TV【公众号木鱼黑科技】(1).a
pk"
Performing Push Install
/Users/carlzeng/Downloads/八爪鱼遥控TV【公众�... pushed, 0 skipped. 1.1 MB/s (1983996 bytes in 1.766s)
pkg: /data/local/tmp/八爪鱼遥控TV【公众号木鱼黑科技】(1).apk
Success
如何解决开机自启动APP的问题?
用adb,开启机顶盒中的APP(因为目前联通已经不给界面打开这些自定义的APP了)
adb shell am start -n 包名(package)
查看安装的第三方app的包名
adb shell pm list packages -3
adb shell pm list packages -3
package:/data/app/com.wukongtv.wkhelper-1.apk=com.wukongtv.wkhelper
package:/data/app/com.udte.websocketsdk-1.apk=com.udte.websocketsdk
package:/data/app/com.sf.icasttv-1.apk=com.sf.icasttv
package:/data/app/com.yummbj.remotecontrol.server-1.apk=com.yummbj.remotecontrol.server
package:/data/app/com.hpplay.happyplay.aw-1.apk=com.hpplay.happyplay.aw
package:/data/app/com.player.diyp2020-1.apk=com.player.diyp2020
package:/data/app/com.shafa.launcher-1.apk=com.shafa.launcher
package:/data/app/com.niklabs.pp-1.apk=com.niklabs.pp
package:/data/app/com.kanke.wechat-1.apk=com.kanke.wechat
package:/data/app/com.wukongtv.wkhelper.remoteplugin2-1.apk=com.wukongtv.wkhelper.remoteplugin2
#启动这个monitor,当app卡死的时候,可以管理kill掉,让UI重新活起来
adb shell am monitor
#打卡设置
adb shell am start com.skyworthdigital.settings
#打开沙发桌面
adb shell am start com.shafa.launcher
#打开乐播投票
adb shell am start com.hpplay.happyplay.aw
用沙发桌面里面的界面再去打开perfect player,设置自启动
com.niklabs.pp
安装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
> adb push /Users/carlzeng/AppTesting/bj-unicom-iptv-V20230213.m3u /storage/sdcard0/1.m3u
/Users/carlzeng/AppTesting/bj-unicom-iptv-V2023021...shed, 0 skipped. 15.4 MB/s (29162 bytes in 0.002s)
> adb shell
进入系统目录,可以检查到 我上传的文件
面临问题:perfect player中,无法点击确认按钮,系统默认的键盘,没有tab键(只能‘下一步’到取消键)
adb shell am start com.shafa.launcher
在启动perfect player
注意:这个电视盒子安装perfect player,必须使用本地文件来加载m3u文件来播放(假如使用网络地址将无法加载)
adb 发送tab按键
adb shell input keyevent 控制按键输入
adb shell input keyevent 61
#成功输入了tab键,代替遥控器的操作,弥补遥控器的缺陷
成功把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命令,把要输入的内容发送到机顶盒:
-
“`shell
adb shell input text /tmp/1.txt#使用说明
adb shell input [] []
Usage: input [
] [ …] The sources are:
trackball
joystick
touchnavigation
mouse
keyboard
gamepad
touchpad
dpad
stylus
touchscreenThe commands and default sources are:
text(Default: touchscreen)
keyevent [–longpress]… (Default: keyboard)
tap(Default: touchscreen)
swipe[duration(ms)] (Default: touchscreen)
press (Default: trackball)
roll(Default: trackball)
“` -
太可惜了,它DIYP必须配置一个http的源地址,可是光猫上面和安卓机顶盒上192.168.1.0网段没有权限把1.txt喂给http,放弃该方案
-
最后是把机顶盒链接到WIFI环境(这样具备的外网功能),然后让DIYP使用
-
bj-unicom-iptv-udpxyInternet-V20240126.txt
txt
最终转化地址(m3u至txt):
https://c.carlzeng.com:4443/tvtxt
成功的文件上传命令举例:
adb push /Users/carlzeng/AppTesting/IPTV-Unicom-Multicast.txt /sdcard/1.txt
/Users/carlzeng/AppTesting/IPTV-Unicom-Multicast.txt:...e pushed, 0 skipped. 33.6 MB/s (9381 bytes in 0.000s)
上传后,盒子中的文件路径为:/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 进行连接。
_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
adb 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接口。
话说回来:第一次这样在机顶盒端安装了悟空遥控以后,再去安卓手机端安装悟空遥控;以后就方便了:
1. 让手机和机顶盒连接到相同的局域网
1. 打开手机端的悟空遥控,和机顶盒端悟空遥控APP
1. 在手机端的悟空遥控操作,把新的APK推送到电视机顶盒端即可
关联:远程给机顶盒安装APP
要解决机顶盒连接二楼旁路由器,而远程协助的手机连接的是一楼的主路由
如何知道悟空遥控是开放了什么端口?
这样打开才能正常扫描到机顶盒的
2024.1
不用这么麻烦frp把机顶盒的5555端口映射/穿透出内网
然后用adb -s frp的对应ip或域名:5555 install ***.apk
比如: adb -s 192.168.6.216:5555 install ‘abc.apk’
悟空遥控器 V*P*N
悟空遥控器、遥控精灵、手机万能遥控器等是如何搜索本地局域网机顶盒?换句话说机顶盒端开放了那个tcp端口?
#用Zenmap扫描了一下:
nmap -sV -T4 -O -F --version-light 192.168.6.216
8080/tcp open http-proxy?
10000/tcp open snet-sensor-mgmt?
49152/tcp open upnp Portable SDK for UPnP devices 1.6.13(Linux 3.14.29; UPnP1.0)
#常规regular扫描
nmap 192.168.6.216
5555/tcp open freeciv
7100/tcp open font-service
8080/tcp open http-proxy
8899/tcp open ospf-lite
10000/tcp open snet-sensor-mgmt
49152/tcp open unknown
#自定义全面扫描?
nmap -A 192.168.6.216
5555/tcp open adb Andriod Debug Brdge device(name: p230 model: p230; device: p230; feature: cmd,shell_v2)
7100/tcp open font-service?
8080/tcp open http-proxy
8899/tcp open http Bukkit JSONAPI httpd for Minecraft game server 3.6.0 or older
10000/tcp open snet-sensor-mgmt?
49152/tcp open upnp Portable SD for UPnP devices 1.6.13 (Linux 3.14.29; UPnP 1.0)
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)
docker run k0st/nmap -A scanme.nmap.org #这个比较全面!好用,检测端口内的服务信息
docker run k0st/nmap -sT -T4 scanme.nmap.org #比较常见的命令,快速扫描
悟空遥控 替代:八爪鱼遥控-安卓
电视端下载:https://wwpv.lanzoue.com/iAXn61ezyrah 密码:63ye
手机端下载:https://wwpv.lanzoue.com/i70xA1ezys4h 密码:hnbk

发表回复