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