1.啓動和關閉ADB服 務(adb start-server和adb kill-server)
經作者測試,模擬器在運行一段時間後,adb服務有可能(在Windows進程中可找到這個服務,該服務用來爲模擬器或通過USB數據線 連接的真機服務)會出現異常。這時需要重新對adb服務關閉和重啓。當 然,重啓Eclipse可能會解決問題。但那比較麻煩。如果想手工關閉adb服務,可以使用下面的命令。
adb kill-server
在關閉adb服務後,要使用如下的命令啓動adb服務。
adb start-server
2.查詢當前模擬器/設 備的實例(adb devices)
有時需要啓動多個模擬器實例,或啓動模擬器的同時通過USB數據線連接了真機。在這種情況下就需要使用如下的命令查詢當前有多少模擬器或真機在線。
adb devices
執行上面的命令後,會輸出如圖1 所示的信息。
圖1
其中第1列 的信息(emulator-5554、HT9BYL904399)表示模擬器或真機的標識。emulator-5554表示模擬器,其中5554表示adb服務爲該模擬器實例服務的端口號。每啓動一個新的模 擬器實例,該端口號都不同。HT9BYL904399表示通過USB數據線連接的真機。如果在運行Android程序時有多個模擬器或真機在線,那麼會出現一個選擇對話框。如果選擇在真機運行,ADT會直接將程序安裝在手機上。輸出信息的第2列都是device, 表示當前設備都在線。如果該列的值是offline,表示該實例沒有被連 接到adb上,或實例沒有響應。
3.安裝、卸載和運行程序(adb install、adb uninstall和am)
在Eclipse中運行Android程 序必須得有Android源碼工程。那如果只有apk文件(Android應用程序的發行包,相當於Windows中的exe文件)該如何安裝和運行呢?答案就是adb命令。假設我們要安裝一個ebook.apk文件,可以使用如下的命令。
adb install ebook.apk
假設ebook.apk中的package是net.blogjava.mobile.ebook,可以使用如下的命令卸載這個應用程序。
adb uninstallnet.blogjava.mobile.ebook
關於package的概念在以後的學習中會逐漸體會 到。現在只要知道package是Android應用程序的唯一標識即可。如果在安裝程序之前,該程序已經在模擬器或真機上存在了,需要先使用上面的命令卸載這個應用程序,然後再安裝。或使用下面的命令重新安裝。
adb install -r ebook.apk
在卸載應用程序時可以加上-k命令行參數保留數據和緩衝目錄,只卸載應用程序。命令如下所示。
adb uninstall -knet.blogjava.mobile.ebook
如果機器上有多個模擬器或真機實例,需要使用-s命令行參數指定具體的模擬器或真機。例如,下面的命令分別在模擬器和真機上安裝、重新安裝和卸載應用 程序。
在emulator-5554模擬器上安裝ebook.apk
adb -s emulator-5554install ebook.apk
在 真機上安裝ebook.apk
adb -s HT9BYL904399install ebook.apk
在emulator-5554模擬器上重新安裝ebook.apk
adb -s emulator-5554install -r ebook.apk
在 真機上重新安裝ebook.apk
adb -s HT9BYL904399install -r ebook.apk
在emulator-5554模擬器上卸載ebook.apk(不保留數據和緩衝目錄)
adb -s emulator-5554uninstall net.blogjava.mobile.ebook
在 真機上 卸載ebook.apk(保留數據和 緩衝目錄)
adb -s HT9BYL904399uninstall -k net.blogjava.mobile.ebook
如 果在模擬器和真機上成功安裝ebook.apk,將會分別輸出如圖2和圖3所示的信 息。
圖2
圖 3
如果想在模擬器或真機上運行已安裝的應用程序,除了直接在模擬器或真機上操作外,還可以使用如下的命令直接運行程序。
在emulator-5554模擬器上運行ebook.apk
adb -s emulator-5554shell am start -n net.blogjava.mobile.ebook/net.blogjava.mobile.ebook.Main
在 真機上 運行ebook.apk
adb -s HT9BYL904399 shellam start -n net.blogjava.mobile.ebook/net.blogjava.mobile.ebook.Main
其中Main是ebook.apk的 主Activity。相當於Windows應用程序的主窗體或Web應用程序的主頁面。am是shell命令。關於shell命令將在後成的部分詳細介紹。
4.PC與模擬器或真機交換文件(adb pull和adb push)
在開發階段或其他原因,經常需要將PC上的文件複製到模擬器或真機上,或將模 擬機和真機上的文件複製到PC上。使用adb pull和adb push命令可以很容易完成這個工作。例如,下面的命令將真機的SD卡根目錄下的camera.jpg文件複製到PC的當前目錄,取名爲picture.jpg。又把picture.jpg文件複製到真機的SD卡根目錄,取名爲abc.jpg。
從真機上覆制文件到PC
adb -s HT9BYL904399 pull/sdcard/camera.jpg picture.jpg
從PC複製到文件到真機
adb -s HT9BYL904399 push picture.jpg/sdcard/abc.jpg
如果讀者安裝了ADT,可以通過DDMS透視圖的【FileExplorer】視圖右上方的 幾個按鈕方便地從模擬器或真機上導入、導出和刪除文件。
5.Shell命 令
由於Android是基於Linux內核的操作系統。因此,在Android上可以執行Shell命令。雖然在手機上提供了可以輸 入命令的Shell程 序,但在手機上輸入程序實在是不方便。爲了更方便地在模擬器或手機上執行Shell命令。可以使用如下的命令在PC上進入Shell控制檯。
adb -s HT9BYL904399 shell
Shell控制檯的提示符是一個井號(#)。進入Shell後,輸入cd system/bin命令,再輸入ls命令,可以看到當前Android系統支持的命令文件,如圖4所示。讀者可以根據實際情況使用相應的命令。
圖4
6.創建、刪除和瀏覽AVD設備(android)
在這裏將介紹直接使用android命令來建立和刪除AVD設備。建立AVD設備的命令如下:
androidcreate avd -n myandroid1.5 -t 2
其中myandroid1.5表示AVD設備的名稱,該名稱可以任意設置,但 不能和其他AVD設 備衝突。-t 2中的2指建立Android 1.5的AVD設備。1表示Android 1.1的AVD設備。以此類推。目前最新的Android 2.1應使用-t 6來建立AVD設備。在執行完上面的命令後,會輸出如 下的信息來詢問是否繼續定製AVD設備。
Android 1.5 is a basic Androidplatform.
Do you wish to create a customhardware profile [no]
如果讀者不想繼續定製AVD設備,直接按回車即可。如果想定製AVD設備,輸入y,然後按回車。系統會按步提示該如何設 置。中括號內是默認值,如果某個設置項需要保留默認值,直接按回車即可。如果讀者使用的是Windows XP,默認情況下AVD設備文件放在如下的目錄。
C:\Documents and Settings\Administrator\.android\avd
如果想改變AVD設備文件的默認存儲路徑,可以使用-p命令行參數,命令如下:
android create avd -n myandroid1.5 -t2 -p d:\my\avd
刪除AVD設備可以使用如下的命令。
android delete avd -n myandroid1.5
通過下面的命令可以列出所有的AVD設備。
android list avds
啓動avd
emulator –avd <avdname> sdf
查看目標設備Id
android.bat list targets
錯誤處理方法
首先創建一個avd,使用命令行方式創建,例如:
D:\android\android-sdk-windows-1.5_r3\tools>android create avd -navd15 -t 2
Android1.5 is a basic Android platform.
Doyou wish to create a custom hardware profile [no]
CreatedAVD 'avd15' based on Android 1.5
用android list avd命令列出當前的avd:
D:\android\android-sdk-windows-1.5_r3\tools>androidlist avd
AvailableAndroid Virtual Devices:
Name: avd15
Path: D:\我的文檔\.android\avd\avd15.avd
Target: Android 1.5 (API level 3)
Skin: HVGA
注意上面的avd的目錄,把上面目錄中的\.android的文件夾拷貝到C:\Documents and Settings\Administrator,因爲我用的是administrator登陸的,所以拷貝到這個目錄下,實際應該拷貝到相應的C:\Documentsand Settings\用戶名 下,注意用戶名要是英文名。
這時候如果用emluator -avd avd15,會得到如下的錯誤:
emulator:ERROR: no search paths found in this AVD's configuration.
Weird,the AVD's config.ini file is malformed. Try re-creating it.
這個錯誤的原因是C:\Documents and Settings\Administrator\.android\avd目錄中的ini文件中包含了中文字符-我的文檔,所以要修改這個ini文件-Avd15.ini,修改path爲path=C:\Documents and Settings\Administrator\.android\avd\avd15.avd。
這時候,就可以啓動emulator了:
D:\android\android-sdk-windows-1.5_r3\tools>emulator-avd avd15
emulator:emulator window was out of view and was recentred
可以看到google的android模擬器了。
運行eclipse中的工程,選擇andorid project.會彈出android AVD Error對話框,選擇Yes,
然後出現android virtual device manager:
直接點擊finish,然後出現 android device chooser對話框:
當前運行的emulator會顯示出來,選中它,然後OK.
此時,在emulator中可以顯示工程的應用程序。
總結一下:
先啓動emulator,然後再運行eclipse中的工程。
7. 如何在模擬器中打開中文輸入法
Menu->Settings->Local &text->android keyboard
將android keyboard後面的勾去掉就可以了!!
8.adb怎麼修改DATA文件夾的權限
首先用ls -l /data看看 data目錄是否有讀寫權限,如果沒有就用一下命令改一下: chmod 777 /data 如果提示沒有chmod命令,那麼安裝一個busybox到你的設備上,然後再用: busybox chmod 777 /data 然後,因爲data是作爲一個分區掛載到文件系統的,所以要看看掛載到文件系統的權限,輸入以下命令查看: mount 你可以找到data的掛載信息,裏面如果出現一個ro的話表示已只讀方式掛載,此時還不能寫入文件需要重新掛載 輸入以下命令重新掛載(這個命令你會運行失敗): mount -o rw,remount -t yaffs2 /dev/block/mtdblock2 /system 這個地方需要你再提供一下信息,把mount後的輸出貼給我,我再給你回覆