2009年5月24日 星期日

Android 1.5 tool的一些用法

這兩天研究了一下Android的指令跟eclipse上的一些用法
趁現在腦袋還清醒整理一下

在1.5版開啟模擬器必須先創造avd(Android virtual device)
創造法請參考上一篇使用eclipse開發Andrio 1.5
到android-sdk-windows-1.5_r1\tools目錄底下實施

android create avd -n avdname -t 2

接下來的指令假設都已經在android-sdk-windows-1.5_r1\tools底下了

如果要直接開啟模擬器的話一樣是用emulator.exe,但是跟1.1版不同的是
要加上參數avd
開啟模擬器語法

emulator.exe -avd test

test是我前面創造的avd

如果要指定skin的話,預設有四種skin可用

emulator.exe -avd test -skin SKINNAME

四種skin

  1. emulator.exe -avd test -skin HVGA-L:480x320水平顯示

  2. emulator.exe -avd test -skin HVGA-P:320x480垂直顯示(預設值)

  3. emulator.exe -avd test -skin QVGA-L:320x240水平顯示

  4. emulator.exe -avd test -skin QVGA-P:240x320垂直顯示



而如果想在模擬器使用sdcard的話,必須仰賴tool底下的mksdcard.exe指令
語法

mksdcard.exe sizeM Name.img

舉個例子,實施

mksdcard.exe 64M sd.img

就會在同個目錄下產生名為sd.img的映像檔


接下來我想掛載映像檔的話,就實施

emulator.exe -avd test -sdcard sd.img


而如果想要上傳檔案到sd.img裡面裡面,必須仰賴tool裡面的adb.exe指令
假設我想上傳一張圖片1.jpg,並且我把它放到跟adb.exe同個目錄下
註:可以上傳一整個目錄,不只檔案

實施命令

adb.exe push 1.jpg /sdcard

sdcard是映像檔裡面的目錄,如果嘗試push到其他目錄的話會出現錯誤訊息

adb.exe push 1.jpg /
...
failed to copy 1.jpg to /: Read-only file system


來看結果吧



adb還有其他指令

adb shell\\進入Linux模式,可用來檢視sdcard映像檔的檔案
adb pull /sdcard/XXX\\下載檔案
adb install xxx.apk\\ 安裝人家寫好的android應用程式
adb install -r xxx.apk\\ 重新安裝
adb uninstall package\\刪除應用程式 必須是packagename ex :com.me.mail
adb uninstall -k package\\刪除應用程式 但是保留資料


而tool裡面還有一個DDMS.exe工具,可以觀看模擬器的狀態,
輸入

ddms\\這個指令只有在模擬器開啟時有效



再來簡單介紹一下emulator.exe其他好用的參數

emulator.exe -avd AVDNAME -no-boot-anim\\省掉開機動話,寫程式時非常好用
emulator.exe -avd AVDNAME -dpi-device 200\\設定解析度 在此為200
emulator.exe -avd AVDNAME -wipe-data\\ 將模擬器回復到出廠時的設定


而android模擬器還有一個很大的優點,就是可以用telnet遠端登入模擬一些情況
登入語法

telnet localhost port

模擬器的port預設是5554,沒什麼必要的話也不用去改他
進去之後可以先用help指令去看有哪些東西可用
假設我想傳簡訊給模擬器我可以下達如下的指令

sms send 9527 'hello'

第三個參數是source號碼,而第四個參數是簡訊內容,這個非常重要,因為可以模擬很多實際情況,比方說來電
結果如下



----------------
最後來看一下eclipse的一些功能,eclipse也有創造avd跟關閉開機動畫的選項
一樣進入Run configuration,方法請看上一篇使用eclipse開發Andrio 1.5

進到Target後,下面有三個比較重要的功能

  1. AVD Manager:創造avd,而且可以同時指定sdcard
    可以取代指令

    android create avd -n avdname -t 2


  2. Wipe User Data:還原選項,可以取代指令

    emulator.exe -avd AVDNAME -wipe-data


  3. Disable Boot Animation:關掉開頭動畫,可以取代指令

    emulator.exe -avd AVDNAME -no-boot-anim




而這邊來看一下AVD Manager的選單,他會列出現在有的avd跟創造avd的功能

下面有個Create AVD的panel,他有四個選項可選

  1. Name:avd的名子在此用Test3

  2. Target:avd sdk的版本,在此選1.5

  3. skin:選擇顯示模式

  4. SDCard:avd要用的sdcard,在此用64M
    他可以有兩種輸入

    1. size:創造一個新的SDCard,這裡要注意一定要加上單位 M

    2. path:一個以存在的SDCard的映像檔所在路徑,譬如說我前面創造的
      E:\Android\android-sdk-windows-1.5_r1\tools\sd.img




之後按下Create AVD按鈕即可創造一個avd

這邊要注意一下,如果用size創造sdcard的話,他會存在avd所在位置之下
並且被命名為sdcard.img
avd所在位置預設是C:\Documents and Settings\你目前的使用者\.android\avd\
進去之後會看到剛剛創造的Test3.avd,點進去就可以看到sdcard

沒有留言: