技術(shù)宅
挑戰(zhàn)題描述
我的Android電視盒是云OS系統(tǒng),這個系統(tǒng)無法ROOT,如果刷為Android系統(tǒng)又會失去保修。請問有沒有什么辦法可以在不刷機的情況下禁用那些我不需要的系統(tǒng)組件,如電視淘寶、天貓超市這些?(題號:20160201)
解題思路
現(xiàn)在市面上幾乎70%的機頂盒都在使用阿里云OS系統(tǒng),由于阿里在這個系統(tǒng)底層限制了ROOT,因此這類系統(tǒng)的盒子默認無法在盒子上進行ROOT。不過對于Android內(nèi)核的系統(tǒng)來說,我們可以通過禁用組件來實現(xiàn)類似電視淘寶、天貓超市這類系統(tǒng)內(nèi)置應(yīng)用的運行。因此解題主要思路就是通過禁用實現(xiàn)上述效果。
解題方法
系統(tǒng)組件的禁用需要借助ADB調(diào)試命令完成。由于ADB命令需要在電腦上連接盒子實現(xiàn),因此首先要在阿里云盒子上開啟USB調(diào)試功能。在電視上進入盒子系統(tǒng)后,依次進入“設(shè)置→通用設(shè)置→系統(tǒng)信息→版權(quán)聲明”,進入版權(quán)聲明后按遙控器左右方向鍵連續(xù)操作即可打開工程模式,按提示將“調(diào)試模式”和“調(diào)試信息收集”都設(shè)置為“已開啟”(圖1)。
開啟調(diào)試模式
接著就可以在電腦上使用ADB命令進行調(diào)試了,到http://www.shuame.com/下載刷機精靈,啟動刷機精靈后切換到“實用工具→ADB命令行”,啟動ADB命令行工具,接著就可以利用命令行對阿里云OS系統(tǒng)內(nèi)置組件進行禁用操作(圖2)。
啟動ADB命令行
啟動電視盒子,并將電視盒子連接到和電腦同一網(wǎng)絡(luò)。在盒子界面上依次進入“設(shè)置→系統(tǒng)設(shè)置→網(wǎng)絡(luò)設(shè)置”,在這里記住電視盒的IP地址,這里假設(shè)為192.168.1.111。返回命令行界面輸入“adb connect 192.168.1.111”,當屏幕提示“connect to 192.168.1.111:5555”,再次輸入“adb devices”,就可以看到已經(jīng)成功連接到盒子(圖3)。
成功連接盒子
繼續(xù)輸入“adb shell”進入盒子系統(tǒng),輸入“pm list packages –f”,回車后會列出系統(tǒng)所有程序,其中“package:”后面接的是程序文件路徑,等號后是程序名,可以看到阿里云系統(tǒng)在后臺運行很多程序(圖4)。
查看盒子當前運行的系統(tǒng)應(yīng)用
現(xiàn)在使用“pm block+具體應(yīng)用名”進行組件的禁用。比如阿里云的自動升級經(jīng)常會造成一些不必要的麻煩。那么輸入“pm block com.yunos.osupdate”即可禁用系統(tǒng)自動升級,重啟后禁用的組件就不會在后臺繼續(xù)運行了(圖5)。
禁用系統(tǒng)自動升級
其他應(yīng)用操作類似,通過“pm block”命令可以在無需ROOT的情況下禁用所有自己不需要的系統(tǒng)組件。不過需要注意的是,在禁用系統(tǒng)組件前,大家一定要明白禁用的是什么功能的組件,以免禁用后給自己帶來不必要的麻煩(所以本文技巧新手勿試,最好請對Android系統(tǒng)有比較深的了解的朋友幫助完成)。如果錯誤禁用了必需的組件,操作同上,再次輸入“pm unblock+具體應(yīng)用名”即可解禁,重啟后生效。當然,上述方法同樣適用于Android手機,大家可以自行在沒有ROOT的手機上進行測試。為了方便大家操作,這里列出阿里云常見系統(tǒng)組件及說明供大家參考:
com.yunos.tvtaobao 電視淘寶
com.yunos.chaoshi 天貓超市
com.yunos.tbsdk 淘寶相關(guān)
com.yunos.tv.homeshellupdater 桌面升級
com.fw.upgrade 更新
com.yunos.osupdate 升級
com.fw.upgrade.sysoper 更新
com.xiami.tv 蝦米音樂