1. 程式人生 > 實用技巧 >root一個Android 4.4電視盒,安裝自己的媒體App和技術人喜歡的工具

root一個Android 4.4電視盒,安裝自己的媒體App和技術人喜歡的工具

舊的某牌子的電視盒子,設計給僅觀看某些節目用的,Android 4.4,效能就那樣,空間倒是可以裝東西進去。

有網線口和Wifi,兩個USB插口(設計給插U盤放電影,但也可以插滑鼠鍵盤。弄的過程中滑鼠鍵盤還是需要準備的,無線的最好,畢竟在客廳電視前)。一個HDMI輸出,一個普通音訊輸出。

這裡記錄下root後安裝的家庭媒體相關的App,還有一些技術人喜歡用的工具類App(開源為主)。

root過程

root過程因機而異。此處主要為記錄,看客也可以參考。

  1. 按照網上查的方式開啟網路adb。過程略

  2. adb connect <ip>連上後,直接使用adb root取得root許可權。看來它的ROM是留了這個後門的。

  3. 安裝root管理的App,給其他App可申請root許可權

    1. 準備好superuser.apk(我用的是com.koushikdutta.superuser原始碼
    2. adb shell mount -o rw,remount /system
    3. 解壓superuser.apk,把assets/armeabi/su/system/xbin/su,並chmod 755 /system/xbin/su
    4. 安裝superuser.apk
    5. 複製/data/app/下的superuser.apk/system/app/
    6. 使/system/xbin/su --daemon &成為開機自動執行的一條命令。我找了一個原廠家的啟動shell指令碼檔案,加在尾部。
    7. 重啟

root後的基本設定和技術工具

  • 安裝一個適合Android TV的桌面Launcher。這裡選當貝桌面(2.1.3.1)

    然後裝一個com.twsitedapps.homemanager,用以選擇預設的桌面Launcher。

    但是如果將來某處不幸無法回到當貝桌面了,也可以用adb shell am start -n com.dangbei.tvlauncher/com.dangbei.tvlauncher.IndexActivity命令運行當貝。

  • 使選單鍵可用

    原廠設定了選單鍵為開啟它的入口App,因此選單鍵原有的功效都失效。

    把我它的預設App直接禁用掉,反正我不用它。查得它原廠預設入口App的包名後

    adb shell pm block 包名
    adb shell pm disable 包名
    adb shell pm disable-user 包名
    

    (這個過程也可以裝com.dkanada.openapk後點滑鼠搞定)

    好了,遙控器上的選單鍵成為真正Android的選單鍵了

  • 嘗試清除一些廠家的預裝App。崩潰~

    發現廠家設定了保護,幹掉一些原廠App後,會自動恢復原廠ROM。所以,只禁用掉一個入口App就好了,其他給它留著吧

  • 安裝SSH server。在SSH中開關adb

    adb沒有密碼,一直開著不夠安全。裝一個可以設定密碼的SSH server(這裡用了net.xnano.android.sshserver)。在SSH登入上去後可以再用命令去開關adb

    # 關閉adbd
    setprop service.adb.tcp.port -1
    killall  adbd
    
    # 開啟adbd
    setprop service.adb.tcp.port 5555 (也可以換個非標準埠,防惡意掃描)
    killall  adbd
    adbd & 
    
  • 終端模擬器

    com.termoneplusjackpal.androidterm

  • F-Droid客戶端

    裝個第三方的老介面版本的eu.bubu1.fdroidclassic。官方的對這個舊盒子來說吃不消。

    禁用原來的源後新增清華源(目前測試不能用https)

    http://mirrors.tuna.tsinghua.edu.cn/fdroid/repo/  
    http://mirrors.tuna.tsinghua.edu.cn/fdroid/archive
    

    指紋填

    43238D512C1E5EB2D6569F4A3AFBF5523418B82E0A3ED1552770ABB9A9C9CCAB
    
  • 開關網路adb的App

    com.matoski.adbm(或com.github.sryze.wirebug,或siir.es.adbWireless)。有時可以免去進去設定介面開adb的麻煩

  • 分App代理

    org.proxydroids可以做到,如果你想讓一些App走某socks路線上網

  • 控制哪個app禁止上網

    AFWall+(dev.ukanth.ufirewall)就不錯,得找舊版本2.9.9支援Android 4 的

家庭媒體

  • Kodi這個播放器具足了服務端和客戶端的功能,nfs、smb、ftp、http這些區域網媒體協議都支援。得找舊版本,最後支援Android 4 的是16版本

  • VLC。大家都知道。

  • DLNA(upnp)播放端(接收端)。F-Droid上就有幾個支援這個功能的小App

操作電視的旁門左道

畢竟是TV盒子,不可能一直接著鍵盤滑鼠,遙控器也很費力。並且有些盒子直接砍掉了一些Android介面。(用de.szalkowski.activitylauncher說不定能發現一些隱藏入口)

對Android命令熟悉的可以不看這部分。

  • 在電腦上檢視和操作Android 4.4螢幕

    著名scrcpy只支援>=Android 5。

    這裡可以用這個電腦端的AndroidScreencast(開源, java),都是通過USB除錯介面(也就是adb)通訊,不過這樣很卡。

  • adb啟動App

    adb shell am start -n com.helloshan.demo/.MianActivity 
    

    你需要知道App的包名和主活動的名稱

  • adb開啟網址

    adb shell am start -a android.intent.action.VIEW -d http://xxxxxxx
    
  • adb輸入文字

    adb shell input text hello
    
  • adb模擬按鍵/輸入

    adb shell input keyevent <keycode>
    3 HOME 鍵
    4 返回鍵
    24 增加音量
    25 降低音量
    26 電源鍵
    64 開啟瀏覽器
    82 選單鍵
    85 播放/暫停
    86 停止播放
    87 播放下一首
    88 播放上一首
    126 恢復播放
    127 暫停播放
    176 開啟系統設定
    187 切換應用
    223 系統休眠
    224 點亮螢幕
    
  • 遠端鍵盤輸入法

    1. WiFi鍵盤 com.volosyukivan

    2. ADB鍵盤 com.android.adbkeyboard

    3. Telnet鍵盤 de.onyxbits.remotekeyboard.

    另外,

    • 開啟輸入法設定介面

       adb shell am start -a android.settings.INPUT_METHOD_SETTINGS
      
    • 列出輸入法

      adb shell ime list -a (多)
      adb shell ime list -s (少)
      
    • 啟用輸入法

      adb shell ime enable xxxxx/xxxxx
      
    • 選擇輸入法

      adb shell ime set xxxxx/xxxxx
      
    • 或者用Keyboard Switcher com.kunzisoft.keyboard.switcher

  • KDE Connect在另一個Android手機(或電腦)上用鍵盤控制電視

    手機(也有電腦版的)和電視上裝上同一個App,配對。

    • 在電視盒上選擇KDE Connect輸入法

      並在它的鍵盤彈出時,點下面的設定,去掉“只有在輸入時接收遠端按鍵”

    • 手機是控制端,不作受控端

      在手機配對後,外掛頁面,去掉所有,只留下“電視遙控”和“遠端輸入”兩個

      手機上可以安裝 和 ,這兩個鍵盤能提供更多按鍵,如ctrl、tab、alt、方向鍵、更方便的常用符號等等。

  • (未成功)用Keyboard/Button Mapper設定快捷鍵,可以用來啟動App或其他動作

    在我的盒子上未成功,無法錄製trigger