本帖最后由 uioaryh990 于 2025-4-7 12:13 編輯
最近無聊把家里的大麥盒子拿出來刷機了。 刷完之后 發(fā)現優(yōu)酷 和三方軟件都報錯不能看,一開始以為是dns問題,百思不得其解,無意中發(fā)現影視倉和優(yōu)酷顯示的時間是2015年1月,但是系統(tǒng)時間又是對的,只是APP時間都不對。芒果TV到是可用。最后搜索到這個帖子。http://m.kinema24.com/tv-1246173-1-1.html 用了那個時間同步軟件,果真所有的影視APP都正常了,可以播放了。時間同步軟件可以設置同步頻率,但是我想開機自動同步時間。最后用通義 百度 DeepSeek 給了這個關鍵字 我有一個電視盒子,APP時間和系統(tǒng)時間不同步,想通過busybox ntpd -p 114.118.7.163 -qNn實現開機自啟動之后自動同步,電視盒子已經開啟了adb模式,也root過了,電視盒子系統(tǒng)基于安卓5.1.1,怎么通過adb實現。 給出來的教程 太麻煩了。。設置都沒生效。最后用的grok 給出來的簡單方便。
一開始用這個服務114.118.7.163 發(fā)現請求幾次就不通了,最后換的阿里的時間服務
教程:在基于 Android 5.1.1 的電視盒子上通過 ADB 實現開機自動同步時間背景- 設備: 已 root 的電視盒子,基于 Android 5.1.1,啟用 ADB 模式。
- 目標: 開機時自動運行 busybox ntpd 同步系統(tǒng)時間。
- NTP 服務器: 使用穩(wěn)定的 ntp.aliyun.com。
- 工具: ADB、Busybox(已安裝并支持 ntpd)。
前提條件- 電視盒子已通過 USB 或網絡連接到電腦,并啟用 ADB。
- 設備已 root,可以通過 su 獲取超級用戶權限。
- Busybox 已安裝,支持 ntpd(可通過 busybox ntpd -h 檢查)。
完整步驟1. 連接設備并進入 shell在電腦端打開命令行(Windows CMD 或其他終端),運行: adb shell
su
- 確保提示符變?yōu)?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: 在主啟動類中運行(開機時觸發(fā))。
- oneshot: 運行一次后退出。
驗證配置bash
cat /init.rc | grep sync_time
確認輸出包含上述。 3. 創(chuàng)建時間同步腳本
掛載 /system 為讀寫bash
mount -o rw,remount /system
創(chuàng)建并寫入腳本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: 以最高優(yōu)先級運行。
- -n: 前臺運行。
設置執(zhí)行權限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 日),說明配置成功。
完整命令示例以下是連續(xù)執(zhí)行的命令: 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 是國內穩(wěn)定選擇,替代選項包括 cn.pool.ntp.org 或 pool.ntp.org。
- 可通過 ping ntp.aliyun.com 測試服務器可達性。
- 文件系統(tǒng)只讀問題
- 如果遇到 Read-only file system 錯誤,確保正確掛載分區(qū)(mount -o rw,remount / 或 /system)。
|