技術宅
挑戰題描述
我的Android電視盒是云OS系統,這個系統無法ROOT,如果刷為Android系統又會失去保修。請問有沒有什么辦法可以在不刷機的情況下禁用那些我不需要的系統組件,如電視淘寶、天貓超市這些?(題號:20160201)
解題思路
現在市面上幾乎70%的機頂盒都在使用阿里云OS系統,由于阿里在這個系統底層限制了ROOT,因此這類系統的盒子默認無法在盒子上進行ROOT。不過對于Android內核的系統來說,我們可以通過禁用組件來實現類似電視淘寶、天貓超市這類系統內置應用的運行。因此解題主要思路就是通過禁用實現上述效果。
解題方法
系統組件的禁用需要借助ADB調試命令完成。由于ADB命令需要在電腦上連接盒子實現,因此首先要在阿里云盒子上開啟USB調試功能。在電視上進入盒子系統后,依次進入“設置→通用設置→系統信息→版權聲明”,進入版權聲明后按遙控器左右方向鍵連續操作即可打開工程模式,按提示將“調試模式”和“調試信息收集”都設置為“已開啟”(圖1)。

開啟調試模式
接著就可以在電腦上使用ADB命令進行調試了,到http://www.shuame.com/下載刷機精靈,啟動刷機精靈后切換到“實用工具→ADB命令行”,啟動ADB命令行工具,接著就可以利用命令行對阿里云OS系統內置組件進行禁用操作(圖2)。

啟動ADB命令行
啟動電視盒子,并將電視盒子連接到和電腦同一網絡。在盒子界面上依次進入“設置→系統設置→網絡設置”,在這里記住電視盒的IP地址,這里假設為192.168.1.111。返回命令行界面輸入“adb connect 192.168.1.111”,當屏幕提示“connect to 192.168.1.111:5555”,再次輸入“adb devices”,就可以看到已經成功連接到盒子(圖3)。

成功連接盒子
繼續輸入“adb shell”進入盒子系統,輸入“pm list packages –f”,回車后會列出系統所有程序,其中“package:”后面接的是程序文件路徑,等號后是程序名,可以看到阿里云系統在后臺運行很多程序(圖4)。

查看盒子當前運行的系統應用
現在使用“pm block+具體應用名”進行組件的禁用。比如阿里云的自動升級經常會造成一些不必要的麻煩。那么輸入“pm block com.yunos.osupdate”即可禁用系統自動升級,重啟后禁用的組件就不會在后臺繼續運行了(圖5)。

禁用系統自動升級
其他應用操作類似,通過“pm block”命令可以在無需ROOT的情況下禁用所有自己不需要的系統組件。不過需要注意的是,在禁用系統組件前,大家一定要明白禁用的是什么功能的組件,以免禁用后給自己帶來不必要的麻煩(所以本文技巧新手勿試,最好請對Android系統有比較深的了解的朋友幫助完成)。如果錯誤禁用了必需的組件,操作同上,再次輸入“pm unblock+具體應用名”即可解禁,重啟后生效。當然,上述方法同樣適用于Android手機,大家可以自行在沒有ROOT的手機上進行測試。為了方便大家操作,這里列出阿里云常見系統組件及說明供大家參考:
com.yunos.tvtaobao 電視淘寶
com.yunos.chaoshi 天貓超市
com.yunos.tbsdk 淘寶相關
com.yunos.tv.homeshellupdater 桌面升級
com.fw.upgrade 更新
com.yunos.osupdate 升級
com.fw.upgrade.sysoper 更新
com.xiami.tv 蝦米音樂