2017年7月31日 星期一

Build nexus player AOSP

我用Virtualbox裝了Ubuntu14.04來安裝,比較保險,I like to do it in an old fashion way.

基本上全部的步驟都在document裡面了
https://source.android.com/source/requirements

我列出過程中需要注意的地方

  • adb usb driver跟fastboot usb driver是不同的
基本上用sdk的universal usb driver都可以support. 只是兩個是不同的,都得assign進vm
  • fastboot某些權限需要root user. 只能跑在root user裡
build好以後用fastboot燒時指定product directory.
export ANDROID_PRODUCT_OUT="/home/hydrated/Android/out/target/product/fugu"


之後flashall進去以後如果順利 LeanbackLauncher長這樣 (wtf..)

Remote也辦法正常配對,我甚至認為這篇文章可以subtitle: how to pair your nexus remote without native supported.

好險有adb,用盡我對android的了解,終於找到辦法

     1. 首先先用am start AddAccessoryActivity
am start -n com.android.tv.settings/.accessories.AddAccessoryActivity


     2. 正常的remote配對方法,按下back and home,就能配對了。

     3. 找到device後別開心,因為你按不下enter!(wtf again),好險一樣有adb
shell input keyevent 66

..終於配對成功,只花兩天而已。然後software keyboard也沒支援,打wifi password時長這樣

fugu:/ $ input keyevent 46                                                     
fugu:/ $ input keyevent 43                                                     
fugu:/ $ input keyevent 29                                                     
fugu:/ $ input keyevent 41                                                     
fugu:/ $ input keyevent 51                                                     
fugu:/ $ input keyevent 29                                                     
fugu:/ $ input keyevent 42                                                     
fugu:/ $ input keyevent 32                                                     
fugu:/ $ input keyevent 33                                                     
fugu:/ $ input keyevent 46                                                     

fugu:/ $ input keyevent 66

adb shell input text 'password'

另外一些make指令
mmm -j32 packages/apps/TvSettings/QuickSettings/

其他build framework的啦,build kernel的啦都有,只是我的人生不需要去回想那些就是了...