首先,依照 Android 文件上的說明 [先安裝 SDK],再 [撰寫 Hello, Android!] 應用程式後,打包成 apk 格式;本文使用的 Android SDK 搭配的 Eclipse 版本是 3.4(Ganymede)。接著,再照 [Android Documentation] 的說明撰寫一個 Android 應用程式,再將程式編譯後打包成 HelloMoko.apk 檔案。
當然,必須將 FreeRunner 更新為 Android 系統,更新方式可至 Openmoko 中文 wiki 下載投影片:http://wiki.openmoko.org/wiki/Main_Page/zh_tw。請依以下步驟將 HelloMoko.apk 安裝至 FreeRunner 手機上。以下的實驗環境為 Ubuntu 8.04.1。
1. 連接 FreeRunner 與 PC
將 FreeRunner 以 USB 連接 PC,再將 FreeRunner 手機開機至 Android 環境。請注意,依照 Openmoko wiki 上的說明,若在開機後再連接 PC,可能會有問題。可利用 lsusb 指令檢查 FreeRunner 是否順利連到 PC 上:
$ lsusb Bus 007 Device 002: ID 04b4:1724 Cypress Semiconductor Corp. Bus 007 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 006 Device 001: ID 0000:0000 Bus 005 Device 034: ID 1457:5117 Bus 005 Device 001: ID 0000:0000 Bus 004 Device 001: ID 0000:0000 Bus 004 Device 004: ID 04d9:0499 Holtek Semiconductor, Inc. Bus 002 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000
2. 殺掉 adb server
執行 adb 時,adb-server 會自動啟動。因此,若是先前曾利用 Eclipse 啟動過 Android 模擬器來測試 HelloMoko 的話,adb-server 己經在背景執行了。啟動 adb server 後再連接 FreeRunner,可能會讓 adb server 找不到 FreeRunner,因此,最可靠的做法是:先檢查系統是否有 adb server,將執行中的 adb server kill 掉後,再重新啟動 adb server。
$ ps ax|grep adb 20092 ? S+ 0:00 grep adb 21032 ? Sl 0:00 adb fork-server server $ sudo kill -9 21032
adb 是 Android SDK 所提供的工具,可於 Android SDK 的 tools/ 目錄下取得。
3. 設定 PC 端 IP
接下來設定 PC 端的 IP 位址為 192.168.0.x,例如:
$ sudo ifconfig usb0 192.168.0.200
FreeRunner 的預設 IP 為 192.168.0.202,可以 ping 此位址測試是否能正常連線。
4. 啟動 adb server
設定 ADBHOST 環境變數:
$ export ADBHOST=192.168.0.202
ADBHOST 的值為 FreeRunner 的 IP 位址。再執行 adb 啟動 adb server,adb server 會自動偵測 Android 手機:
$ adb devices * daemon not running. starting it now * * daemon started successfully * List of devices attached emulator-5554 device
在 'List of devices attached' 項目可以看到系統自動偵測到的 Android 手機。
5. 安裝 HelloMoko.apk
使用 adb 將 HelloMoko.apk 安裝到 FreeRunner / Android 手機:
$ adb install HelloMoko.apk
安裝完成後,重新啟動 FreeRunner 即可在應用程式選單裡看到 HelloMoko。
Jollen's Blog 使用 Github issues 與讀者交流討論。請點擊上方的文章專屬 issue,或 open a new issue
您可透過電子郵件 jollen@jollen.org,或是 Linkedin 與我連絡。更歡迎使用微信,請搜尋 WeChat ID:jollentw