Android:使用命令行工具adb、mksdcard等

有一些Android的工具須要在命令行的環境中運行,只是能夠選擇Windows的開始->運行,鍵入cmd並肯定,進入命令行的界面中運行。主要的命令行工具包括adb和mksdcard等。命令行的工具在Android SDK的tools目錄中,使用命令行的窗口如圖所示:android

image

adb(Android Debug Bridge,Android調試橋)是Android的主要調試工具,它能夠經過網絡或者USB鏈接真實的設備,也能夠鏈接仿真器。使用adb進行調試,一般在命令行的界面中。shell

將出現shell提示符,這就是Android所運行的Linux系統中的shell終端,能夠在這個shell提示符後執行Android系統提供的Linux命令。網絡

1.使用ls命令查看Android系統根目錄:app

root@android:/ # ls -l    
ls -l    
drwxr-xr-x root     root              2014-03-15 12:56 acct    
drwxr-xr-x root     system            2014-03-15 12:56 app-cache    
drwxrwx--- system   cache             2014-03-13 22:43 cache    
dr-x------ root     root              2014-03-15 12:56 config    
-rw-r--r-- root     root         1395 1970-01-01 08:00 cwkeys    
lrwxrwxrwx root     root              2014-03-15 12:56 d -> /sys/kernel/debug    
drwxrwx--x system   system            2014-03-15 16:20 data    
-rw-r--r-- root     root          238 1970-01-01 08:00 default.prop    
drwxr-xr-x root     root              2014-03-15 12:56 dev    
drwx------ root     root              2014-03-13 21:56 devlog    
lrwxrwxrwx root     root              2014-03-15 12:56 etc -> /system/etc    
-rwxr-x--- root     root       111468 1970-01-01 08:00 init    
-rwxr-x--- root     root         9770 1970-01-01 08:00 init.pyramid.rc    
-rwxr-x--- root     root        11297 1970-01-01 08:00 init.qcom.sh    
-rwxr-x--- root     root        21570 1970-01-01 08:00 init.rc    
-rwxr-x--- root     root         4545 1970-01-01 08:00 init.usb.rc    
drwxrwxr-x root     system            2014-03-15 12:56 mnt    
dr-xr-xr-x root     root              1970-01-01 08:00 proc    
drwx------ root     root              2012-08-07 08:38 root    
drwxr-x--- root     root              1970-01-01 08:00 sbin    
lrwxrwxrwx root     root              2014-03-15 12:56 sdcard -> /mnt/sdcard    
drwxr-xr-x root     root              2014-03-15 12:56 sys    
drwxr-xr-x root     root              2014-03-13 22:40 system    
-rw-r--r-- root     root         1058 1970-01-01 08:00 ueventd.pyramid.rc    
-rw-r--r-- root     root         7877 1970-01-01 08:00 ueventd.rc    
drwxrwx--x system   system            2014-03-15 12:56 vendortcp

 工具

Android根目錄中的主要文件夾與目標系統的out/target/product/generic/root內容相對應,此外etc、proc等目錄是在Android啓動後自動創建的,system映像被掛接到根文件系統的system目錄中,data映像被掛接到根文件系統的data目錄中。spa

 .net

2.使用ps命令能夠查看Android系統的進程:命令行

root@android:/ # ps    
ps    
USER     PID   PPID  VSIZE  RSS     WCHAN    PC         NAME    
root      1     0     416    276   c013bf84 00008728 S /init    
root      2     0     0      0     c00d3eb0 00000000 S kthreadd    
root      3     2     0      0     c00c0c50 00000000 S ksoftirqd/0    
root      5     2     0      0     c005eb48 00000000 D kworker/u:0    
root      6     2     0      0     c00f4188 00000000 S migration/0    
root      10    2     0      0     c00cfd50 00000000 S khelper    
root      11    2     0      0     c00cfd50 00000000 S suspend_sys_syn    
root      12    2     0      0     c00cfd50 00000000 S suspend    
root      13    2     0      0     c00cfd50 00000000 S perflock_wq    
root      14    2     0      0     c00f53e8 00000000 S irq/347-pm8901-    
root      15    2     0      0     c010f794 00000000 S sync_supers    
root      16    2     0      0     c011047c 00000000 S bdi-default    
root      17    2     0      0     c00cfd50 00000000 S kblockd    
root      18    2     0      0     c0308d34 00000000 S khubd    
root      19    2     0      0     c00cfd50 00000000 S l2cap    
root      20    2     0      0     c00cfd50 00000000 S a2mp    
root      22    2     0      0     c00cfd50 00000000 S cfg80211    
root      23    2     0      0     c00cfd50 00000000 S tty_smd0    
root      24    2     0      0     c00f53e8 00000000 S irq/505-pm8058_    
root      25    2     0      0     c00cfd50 00000000 S tps65200    
root      26    2     0      0     c00cfd50 00000000 S iewqdebug

.

.

.

從系統的進程中能夠看到,系統1號和2號進程以0號進程爲父進程。init是系統運行的第1個進程,即Android根目下的init可執行程序,這是一個用戶空間的進程。kthreadd是系統的2號進程,這是一個內核進程,其餘內核進程都直接或間接以它爲父進程。    
Zygote、/system/bin/sh、/system/bin/mediaserver等進程是被init運行起來的,所以它們以init爲父進程。其中android.process.acore(Home)、com.android.mms等進程表明的是應用程序進程,它們的父進程都是zygote。

 

3.使用adb鏈接目標系統終端的方式以下所示:

> adb shell

 

4.使用adb安裝應用程序的方法爲:    
> adb install XXX.apk

 

5.卸載已經安裝的應用

(1)方法1:

&#160;&#160;&#160;&#160; adb uninstall [-k] <package>。

其中package表示須要卸載的應用的包的名字,k表示是否保留應用的配置信息和cache數據。

(2)手動刪除。    
adb shell    
cd /data/app    
rm app.apk

&#160;

6 .使用adb在主機和目標機之間傳送文件的方法爲:

能夠使用adb pull ,push 命令將文件複製到一個模擬器/設備實例的數據文件或是從數據文件中複製。install 命令只將一個apk文件複製到一個特定的位置,與其不一樣的是,pull 和 push 命令可以讓用戶複製任意的目錄和文件到一個模擬器/設備實例的任何位置。

> adb push {host_path} {target_path}    
> adb pull {target_path} {host_path}

&#160;

7.mksdcard是用來創建SD卡映像的工具,用來創建一個Fat32格式的磁盤映像,其使用方法以下所示:

mksdcard [-l label] <size> <file>

mksdcard的參數-l用於指定磁盤映像的標籤,size用於指定磁盤映像的大小,其後面能夠跟K、M、G等參數,file是磁盤映像的文件名稱,這個文件也就是在仿真器運行過程當中指定的文件。    
mksdcard的一個使用的示例以下所示:    
> mksdcard 128M sdcard.img    
這表示創建了一個大小爲128M,名稱爲sdcard.img的Fat32磁盤映像文件。

&#160;

8.查看版本信息

>adb version

Android Debug Bridge version 1.0.20

&#160;

9.轉發端口

能夠使用 forward 命令進行任意端口的轉發—一個模擬器/設備實例的某一特定主機端口向另外一不一樣端口的轉發請求。下面演示瞭如何創建從主機端口7100到模擬器/設備端口8100的轉發。

adb forward tcp:7100 tcp:8100

一樣地,能夠使用ADB來創建命名爲抽象的UNIX域套接口,上述過程以下所示:

adb forward tcp:7100 local:logd

相關文章
相關標籤/搜索