2013年6月7日 星期五

Setup VirtualBox + Ubuntu 10.04 LTS x64 + Android source build environment on Win8

安裝 VirtualBox & Ubuntu 10.04 LTS

  • 參考:JHPeng's Blog:宏觀篇。: VirtualBox建置 Ubuntu 10.04 LTS x64 Android source build 開發環境
  • 本來是在VBox上裝了目前Ubuntu首頁的12.04,可是實在是不習慣它的新UI,而且感覺比較慢,所以就砍掉重練...
  • VirtualBox:
    • 基本上參考上面大德寫的步驟
    • 幾點high light:
      1. 作業系統要選64bit (因為Android 4.0以後要64bit環境才能build)
      2. 硬碟大小: AOSP官方需求至少要30G,我設50G。實際sync code並且build完真的差不多用了30G。
      3. 其他硬體設定 (可以等裝完Vbox再調整)
        • 系統->主機板->基礎記憶體: 設大一點 (ex: 4G)
        • 系統->主機板->處理器: (ex: 4顆)
        • 顯示->視訊->視訊記憶體: (ex: 64MB)
      4. 剪貼簿請改「雙向」
      5. 網路介面卡改「橋接」,方便之後透過samba從網芳存取檔案
      6. 安裝Guest Additions,剪貼簿才能用,畫面解析度才能正常。
  • Ubuntu:

安裝JDK 6

Installing required packages (Ubuntu 10.04 -- 11.10)

  • 照AOSP給的那串貼上/enter即可。

安裝並更新Git (v1.7.10)

  • 參考:Ubuntu 10.04 - how to upgrade Git version
  • 理由:如果Git版本不夠新,會無法sync code。
  • 指令:
    • sudo add-apt-repository ppa:voronov84/andreyv
    • sudo apt-get update
    • sudo apt-get upgrade
    • sudo apt-get install git

Sync code & Build code

  • 參考AOSP說明即可。

使用samba將Ubuntu(guest)上的資料分享給Windows(host)存取

  • 參考:
  • 重點:
    • 確保Ubuntu(guest)的工作群組(workgroup)名稱跟Windows(host)的工作群組名稱都是相同的
      • 透過GUI設定:Samba server configuration->Preferences->Server Settings->Basic->workgroup 填上Windows設定好的工作群組名稱
      • 或者是直接編輯 /etc/samba/smb.conf
        • workgroup = 工作群組名稱
      • restart samba (sudo service smbd restart)
    • 然後打開Windows檔案總管,輸入\\<Ubuntu電腦名稱> 或是\\<Ubuntu電腦IP>應該要可以找得到電腦,並且跟Windows電腦位於同一個工作群組內。
    • 新增samba username讓windows登入Ubuntu電腦時有權限R/W
      • sudo smbpasswd -a <username>  // 建議跟Ubuntu username相同
    • 設定samba share folder
      • Access要選Only allow access to specific users並勾選剛剛新增的username
      • 不要選Allow access to everyone,否則會「host新增的檔案guest無法編輯、guest新增的檔案host無法編輯」
      • folder可以是/home/<username>
    • 從Windows(host)連到Ubuntu(guest)電腦並且輸入剛剛設好的username登入:
      • ID: \<workgroup>\<username>
      • PW: <ubuntu username對應的PW>

安裝Eclipse ADT Bundle (with SDK)

設定USB權限

  • 參考:
  • 步驟:
    1. 將android device插到PC上並確認已作用 (記得要選USB 2.0插槽,USB3.0目前會有問題)
    2. 在VBox左上角選單或右下角USB圖示裡選擇裝置,例如:HTC Android Phone [0228]
    3. 這時候打開DDMS看到device會是一堆????,因為還沒有存取權限。
      • ex: adb devices 會出現:
        • List of devices attached 
        • ???????????? no permissions
    4. 輸入lsusb,列出目前的usb device找出對應的idVendor & idProduct,例如:
      • Bus 001 Device 003: ID 0bb4:0cc6 High Tech Computer Corp. 
      • Bus 001 Device 002: ID 80ee:0021  
      • Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
      • 格式是 idVendor:idProduct,所以此例idVendor=0bb4,idProduct=0cc6
    5. 新增udev rules
      • sudo gedit /etc/udev/rules.d/51-android.rules
      • 輸入:
        • # adb protocal on MY DEVICE
        • SUBSYSTEM=="usb", ATTR{idVendor}=="<idVendor, ex: 0bb4>", ATTR{idProduct}=="<idProduct, ex: 0cc6>", MODE="0666", OWNER="<ubuntu username>"
    6. reload udev rule
      • sudo udevadm control --reload-rules
    7. unplug and replug the device on VBox (透過左上角選單或右下角USB圖示)
    8. 測試是否能順利存取:輸入adb devices,若有出現表示成功。
      • List of devices attached 
      • HT1AKVV05109 device

沒有留言:

張貼留言