本帖最后由 uioaryh990 于 2025-4-7 12:13 編輯
最近無聊把家里的大麥盒子拿出來刷機了。 刷完之后 發(fā)現(xiàn)優(yōu)酷 和三方軟件都報錯不能看,一開始以為是dns問題,百思不得其解,無意中發(fā)現(xiàn)影視倉和優(yōu)酷顯示的時間是2015年1月,但是系統(tǒng)時間又是對的,只是APP時間都不對。芒果TV到是可用。最后搜索到這個帖子。http://www.kinema24.com/tv-1246173-1-1.html 用了那個時間同步軟件,果真所有的影視APP都正常了,可以播放了。時間同步軟件可以設(shè)置同步頻率,但是我想開機自動同步時間。最后用通義 百度 DeepSeek 給了這個關(guān)鍵字 我有一個電視盒子,APP時間和系統(tǒng)時間不同步,想通過busybox ntpd -p 114.118.7.163 -qNn實現(xiàn)開機自啟動之后自動同步,電視盒子已經(jīng)開啟了adb模式,也root過了,電視盒子系統(tǒng)基于安卓5.1.1,怎么通過adb實現(xiàn)。 給出來的教程 太麻煩了。。設(shè)置都沒生效。最后用的grok 給出來的簡單方便。
一開始用這個服務(wù)114.118.7.163 發(fā)現(xiàn)請求幾次就不通了,最后換的阿里的時間服務(wù)
教程:在基于 Android 5.1.1 的電視盒子上通過 ADB 實現(xiàn)開機自動同步時間背景- 設(shè)備: 已 root 的電視盒子,基于 Android 5.1.1,啟用 ADB 模式。
- 目標: 開機時自動運行 busybox ntpd 同步系統(tǒng)時間。
- NTP 服務(wù)器: 使用穩(wěn)定的 ntp.aliyun.com。
- 工具: ADB、Busybox(已安裝并支持 ntpd)。
前提條件- 電視盒子已通過 USB 或網(wǎng)絡(luò)連接到電腦,并啟用 ADB。
- 設(shè)備已 root,可以通過 su 獲取超級用戶權(quán)限。
- Busybox 已安裝,支持 ntpd(可通過 busybox ntpd -h 檢查)。
完整步驟1. 連接設(shè)備并進入 shell在電腦端打開命令行(Windows CMD 或其他終端),運行: adb shell
su
- 確保提示符變?yōu)?root@...,表示已獲取 root 權(quán)限。
2. 修改 /init.rc 添加自啟動服務(wù)
掛載根目錄為讀寫bash
mount -o rw,remount /
備份原始 /init.rcbash
cp /init.rc /init.rc.bak
追加時間同步服務(wù)配置
將以下內(nèi)容追加到 /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: 定義服務(wù)名稱。
- /system/etc/sync_time.sh: 服務(wù)調(diào)用的腳本路徑。
- 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 秒,確保網(wǎng)絡(luò)就緒。
- busybox ntpd -p ntp.aliyun.com -qNn: 使用 Busybox 的 ntpd 同步時間。
- -p: 指定 NTP 服務(wù)器。
- -q: 設(shè)置時間后退出。
- -N: 以最高優(yōu)先級運行。
- -n: 前臺運行。
設(shè)置執(zhí)行權(quán)限bash
chmod 755 /system/etc/sync_time.sh
驗證腳本內(nèi)容bash
cat /system/etc/sync_time.sh
確認輸出與上述內(nèi)容一致。 4. 測試腳本手動運行腳本,檢查時間是否同步: /system/etc/sync_time.sh
date
- 如果 date 顯示當前時間(例如 2025 年 4 月),說明腳本有效。
5. 重啟并驗證
重啟設(shè)備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
注意事項- 網(wǎng)絡(luò)依賴
- 確保設(shè)備開機時能聯(lián)網(wǎng)(Wi-Fi 或有線網(wǎng)絡(luò))。
- 如果網(wǎng)絡(luò)啟動較慢,可增加 sleep 時間(例如 sleep 60)。
- NTP 服務(wù)器選擇
- ntp.aliyun.com 是國內(nèi)穩(wěn)定選擇,替代選項包括 cn.pool.ntp.org 或 pool.ntp.org。
- 可通過 ping ntp.aliyun.com 測試服務(wù)器可達性。
- 文件系統(tǒng)只讀問題
- 如果遇到 Read-only file system 錯誤,確保正確掛載分區(qū)(mount -o rw,remount / 或 /system)。
|