电视盒子APP时间和系统时间不同步问题解决
本帖最后由 uioaryh990 于 2025-4-7 12:13 编辑最近无聊把家里的大麦盒子拿出来刷机了。 刷完之后 发现优酷 和三方软件都报错不能看,一开始以为是dns问题,百思不得其解,无意中发现影视仓和优酷显示的时间是2015年1月,但是系统时间又是对的,只是APP时间都不对。芒果TV到是可用。最后搜索到这个帖子。https://www.znds.com/tv-1246173-1-1.html用了那个时间同步软件,果真所有的影视APP都正常了,可以播放了。时间同步软件可以设置同步频率,但是我想开机自动同步时间。最后用通义 百度deepseek 给了这个关键字 我有一个电视盒子,APP时间和系统时间不同步,想通过busybox ntpd -p 114.118.7.163 -qNn实现开机自启动之后自动同步,电视盒子已经开启了adb模式,也root过了,电视盒子系统基于安卓5.1.1,怎么通过adb实现。 给出来的教程 太麻烦了。。设置都没生效。最后用的grok 给出来的简单方便。
一开始用这个服务114.118.7.163 发现请求几次就不通了,最后换的阿里的时间服务
教程:在基于 Android 5.1.1 的电视盒子上通过 ADB 实现开机自动同步时间背景
[*]设备: 已 root 的电视盒子,基于 Android 5.1.1,启用 ADB 模式。
[*]目标: 开机时自动运行 busybox ntpd 同步系统时间。
[*]NTP 服务器: 使用稳定的 ntp.aliyun.com。
[*]工具: ADB、Busybox(已安装并支持 ntpd)。
前提条件
[*]电视盒子已通过 USB 或网络连接到电脑,并启用 ADB。
[*]设备已 root,可以通过 su 获取超级用户权限。
[*]Busybox 已安装,支持 ntpd(可通过 busybox ntpd -h 检查)。
完整步骤1. 连接设备并进入 shell在电脑端打开命令行(Windows CMD 或其他终端),运行:adb shell
su
[*]确保提示符变为 root@...,表示已获取 root 权限。
2. 修改 /init.rc 添加自启动服务
挂载根目录为读写bash
mount -o rw,remount /
备份原始 /init.rcbash
cp /init.rc /init.rc.bak
追加时间同步服务配置
将以下内容追加到 /init.rc:bash
echo "service sync_time /system/etc/sync_time.sh" >> /init.rc
echo " class main" >> /init.rc
echo " oneshot" >> /init.rc
[*]service sync_time: 定义服务名称。
[*]/system/etc/sync_time.sh: 服务调用的脚本路径。
[*]class main: 在主启动类中运行(开机时触发)。
[*]oneshot: 运行一次后退出。
验证配置bash
cat /init.rc | grep sync_time
确认输出包含上述。3. 创建时间同步脚本
挂载 /system 为读写bash
mount -o rw,remount /system
创建并写入脚本bash
echo '#!/system/bin/sh' > /system/etc/sync_time.sh
echo 'sleep 30' >> /system/etc/sync_time.sh
echo 'busybox ntpd -p ntp.aliyun.com -qNn' >> /system/etc/sync_time.sh
[*]sleep 30: 等待 30 秒,确保网络就绪。
[*]busybox ntpd -p ntp.aliyun.com -qNn: 使用 Busybox 的 ntpd 同步时间。
[*]-p: 指定 NTP 服务器。
[*]-q: 设置时间后退出。
[*]-N: 以最高优先级运行。
[*]-n: 前台运行。
设置执行权限bash
chmod 755 /system/etc/sync_time.sh
验证脚本内容bash
cat /system/etc/sync_time.sh
确认输出与上述内容一致。4. 测试脚本手动运行脚本,检查时间是否同步:/system/etc/sync_time.sh
date
[*]如果 date 显示当前时间(例如 2025 年 4 月),说明脚本有效。
5. 重启并验证
重启设备bash
reboot
检查时间
重启后重新连接并运行:bash
adb shell date
[*]如果时间正确(接近当前日期,如 2025 年 4 月 7 日),说明配置成功。
完整命令示例以下是连续执行的命令:adb shell
su
mount -o rw,remount /
cp /init.rc /init.rc.bak
echo "service sync_time /system/etc/sync_time.sh" >> /init.rc
echo " class main" >> /init.rc
echo " oneshot" >> /init.rc
mount -o rw,remount /system
echo '#!/system/bin/sh' > /system/etc/sync_time.sh
echo 'sleep 30' >> /system/etc/sync_time.sh
echo 'busybox ntpd -p ntp.aliyun.com -qNn' >> /system/etc/sync_time.sh
chmod 755 /system/etc/sync_time.sh
/system/etc/sync_time.sh
date
reboot
重启后:adb shell date
注意事项
[*]网络依赖
[*]确保设备开机时能联网(Wi-Fi 或有线网络)。
[*]如果网络启动较慢,可增加 sleep 时间(例如 sleep 60)。
[*]NTP 服务器选择
[*]ntp.aliyun.com 是国内稳定选择,替代选项包括 cn.pool.ntp.org 或 pool.ntp.org。
[*]可通过 ping ntp.aliyun.com 测试服务器可达性。
[*]文件系统只读问题
[*]如果遇到 Read-only file system 错误,确保正确挂载分区(mount -o rw,remount / 或 /system)。
[*]
感谢分享 感谢分享 我家的4036盒子最近也是这么一回事,系统时间日期不更新停留在2015.1.1处,当贝和其它软件的时间都是同步了系统的,但奇异果APP却会更新时间。最近都在想着是不是要重新刷一下机就是找到双头USB线 最后解决了吗? 还要打工四十年 发表于 2025-4-7 16:36
感谢分享
电视盒子的时间同步问题搞得到吗?
页:
[1]