天天看點

《Android/OPhone開發完全講義》連載(4):Android SDK中常用指令行工具(二)本文為原創,如需轉載,請注明作者和出處,謝謝!

本文為新書《Android/OPhone

開發完全講義》的内容連載。《Android/OPhone開發完全講義》一書現已出版,敬請關注。

<a target="_blank" href="http://www.cnblogs.com/nokiaguy/archive/2010/07/01/1769079.html">源代碼下載下傳</a>

在開發階段或其他原因,經常需要将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透視圖的【File Explorer】視圖右上方的幾個按鈕友善地從模拟器或真機上導入、導出和删除檔案。

由于Android是基于Linux核心的作業系統。是以,在Android上可以執行Shell指令。雖然在手機上提供了可以輸入指令的Shell程式,但在手機上輸入程式實在是不友善。為了更友善地在模拟器或手機上執行Shell指令。可以使用如下的指令在PC上進入Shell控制台。

adb -s HT9BYL904399 shell

Shell控制台的提示符是一個井号(#)。進入Shell後,輸入cd system/bin指令,再輸入ls指令,可以看到目前Android系統支援的指令檔案,如圖1所示。讀者可以根據實際情況使用相應的指令。

                       圖1 

Shell控制台

在這裡将介紹直接使用android指令來建立和删除AVD裝置。建立AVD裝置的指令如下:

android create 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 Android platform.

Do you wish to create a custom hardware profile

[no]

如果讀者不想繼續定制AVD裝置,直接按回車即可。如果想定制AVD裝置,輸入y,然後按回車。系統會按步提示該如何設定。中括号内是預設值,如果某個設定項需要保留預設值,直接按回車即可。如果讀者使用的是Windows XP,預設情況下AVD裝置檔案放在如下的目錄。

C:/Documents and

Settings/Administrator/.android/avd

如果想改變AVD裝置檔案的預設存儲路徑,可以使用-p指令行參數,指令如下:

android create avd -n

myandroid1.5 -t 2 -p d:/my/avd

删除AVD裝置可以使用如下的指令。

android delete avd -n

myandroid1.5

通過下面的指令可以列出所有的AVD裝置。

android list avds

&lt;script type="text/javascript"&gt;

var _gaq = _gaq || [];

_gaq.push(['_setAccount', 'UA-16915591-1']);

_gaq.push(['_trackPageview']);

(function() {

var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;

ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';

var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);

})();

&lt;/script&gt;