Jollen's email: jollen # jollen.org

more: Jollen's Consulting | Jollen's Wiki

« Neo FreeRunner: 3 軸加速度感測器程式實作 | Home | Linux 驅動程式的 scheduling 觀念, #1: »

安裝 Android 應用程式(apk)至 Neo FreeRunner

jollen 發表於 November 21, 2008 1:54 PM

首先,依照 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

引用通告

如果您想引用這篇文章到您的Blog,
請複製下面的鏈接,並放置到您發表文章的相應界面中。

http://www.jollen.org/cgi-bin/mt3/mt-tb.cgi/576

評論 (3)

您好:
我照您上述的步驟作了很多次(freerunner已安裝Android),在終端機下lsusb也看到裝置(不過ID後四碼不一樣),刪掉adb後,卻還是無法偵測到裝置usb0,請問可能哪出錯?(我用Ubuntu跟WindowsXp架設Android環境都試過,都無法成功執行sudo ifconfig usb0 xxx)
,是否有空提供協助?

林宗成:

我也是都無法成功執行sudo ifconfig usb0 xxx

在我電腦上是用ifconfig "eth1",可以比較看看拔掉/插上FreeRunner執行ifconfig,會多出哪個interface,就是要填的指令。

發表一個評論

(您發表的意見將被立即接受,但需要一點時間與後端伺服器做同步,您的留言才會顯示在網站上。為避免 spam 攻撃,按「發表」後請輸入帳號密碼。使用者帳號:「nospam」、密碼:「nospam」。)

[Top] Copyright (C) 2006,2010 www.jollen.org.
All rights reserved. All content licensed under Creative Commons License.