1. 程式人生 > >adb shell 命令詳解

adb shell 命令詳解

    Android Shell命令的使用可以將複製的檔案等相關資料連線到手機中去。我們在這裡為大家總結了幾個Android Shell命令的常用方法。

    大家可能對於Android這一手機作業系統有所瞭解,因為市面上很多智慧手機都開始採用這一系統來抓住商業機遇。通過對它的深入瞭解,可以知道,adb是Android重要工具之一,以提供強大的特性,例如複製檔案到裝置或從裝置複製檔案。可以使用Android Shell命令列引數連線到手機本身,併發送基本的 shell 命令。

    進入命令列,使用

  1. adb shell

進入到Android Shell命令模式,注意,這時候模擬器或者手機要啟用並且正確接通。

在這個Android Shell命令環境中,可以:

顯示網路配置,網路配置可顯示多個網路連線。注意這多個網路連線:

lo 是本地或 loopback 連線。

tiwlan0 是 WiFi 連線,該連線由本地 DHCP 伺服器提供一個地址。

顯示 PATH 環境變數的內容。

執行 su 命令,以成為超級使用者。

將目錄改為 /data/app,其中存放使用者應用程式。

列出包含某個應用程式的目錄。Android 應用程式檔案實際上是歸檔檔案,可通過 WinZip 之類的軟體檢視。副檔名為 apk。
發出 ping 命令,檢視 Google.com 是否可用。

從相同的命令提示符環境中,還可以與 SQLite 資料庫互動,啟動程式以及執行許多其他系統級任務。想像一下您正在連線到電話,因此這是非常了不起的功能。

一、adb命令

  1. Java程式碼   
  2. adb get-product // 獲取裝置的ID   
  3. adb get-serialno // 獲取裝置的序列號   
  4. adb devices // 得當前執行的模擬器/裝置的例項的列表及每個例項的狀態   
  5. adb bugreport // 檢視bug報告 

二、Android Shell命令

通過adb shell命令進入shell後,執行下列命令。

1、訪問資料庫:

  1. sqlite3  

2、記錄無線通訊日誌:

一般來說,無線通訊的日誌非常多,在執行時沒必要去記錄,但我們還是可以通過命令,設定記錄:

  1. logcat -b radio  

3、刪除應用:

Android沒有提供一個解除安裝應用的命令,需要自己手動刪除:

  1. cd /data/app   
  2. m appName.apk   

注:[appName]為應用的名稱;

三、可以在Android Shell命令下使用的一些linux命令

命令:

  1. ls // 檢視目錄   
  2. date // 列印或設定當前系統時間   
  3. cat /proc/meminfo // 檢視記憶體資訊   
  4. cat /proc/cpuinfo // 檢視CPU資訊  

Android Shell命令的相關內容就為大家介紹到這裡。

命令列工具ADBAndvoid Debug Bridge)是Android提供的一個通用的除錯工具,藉助這個工具,我們可以管理裝置或手機模擬器的狀態。

adb help

AndroidDebugBridgeversion 1.0.20

-d- directs command to the only connected USB device

returns an error if more than one USB device is present.

-e- directs command to the only running emulator.

returns an error if more than one emulator is running.

-s <serial number>- directs command to the USB device or emulator with

the given serial number

-p <product name or path>- simple product name like ‘sooner’, or

a relative/absolute path to a product

out directory like ‘out/target/product/sooner’.

If -p is not specified, the ANDROID_PRODUCT_

environment variable is used, which must

be an absolute path.

devices- list all connected devices

device commands:

adb push <local> <remote>- copy file/dir to device

adb pull <remote> <local>- copy file/dir from device

adb sync [ <directory> ]- copy host->device only if changed

(see ‘adb help all’)

adb shell- run remote shell interactively

adb shell <command>- run remote shell command

adb emu <command>- run emulator console command

adb logcat [ <filter-spec> ] - View device log

adb forward <local> <remote> - forward socket connections

tcp:<port>

localabstract:<unix domain socket name>

localreserved:<unix domain socket name>

localfilesystem:<unix domain socket name>51Testing軟體測試網;xm(L!V-S!HQ0Mb U

dev:<character device name>51Testing軟體測試網 UV0j J ]%mb{ bx8C

jdwp:<process pid> (remote only)

adb jdwp- list PIDs of processes hosting a JDWP transport

adb install [-l] [-r] <file> - push this package file to the device and install it

(‘-l’ means forward-lock the app)

(‘-r’ means reinstall the app, keeping its data)

adb uninstall [-k] <package> - remove this app package from the device

(‘-k’ means keep the data and cache directories)

adb bugreport- return all information from the device

that should be included in a bug report.

adb help- show this help message

adb version- show version num

DATAOPTS:

(no option)- don’t touch the data partition

-w- wipe the data partition

-d- flash the data partition

adb wait-for-device- block until device is online

adb start-server- ensure that there is a server running

adb kill-server- kill the server if it is running

adb get-state- prints: offline | bootloader | device

adb get-product- prints: <product-id>

adb get-serialno- prints: <serial-number>

adb status-window- continuously print device status for a specified device

adb remount- remounts the /system partition on the device read-write

networking:

adb ppp <tty> [parameters]- Run PPP over USB.

Note: you should not automatically start a PDP connection.

<tty> refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1

[parameters] - Eg. defaultroute debug dump local notty usepeerdns

adb sync notes: adb sync [ <directory> ]

<localdir> can be interpreted in several ways:

- If <directory> is not specified, both /system and /data partitions will be updated.

- If it is “system” or “data”, only the corresponding partitionis updated.

ADB還可以進行以下的操作:

1、快速更新裝置或手機模擬器中的程式碼,如應用或Android系統升級;

2、在裝置上執行shell命令;

3、管理裝置或手機模擬器上的預定埠;

4、在裝置或手機模擬器上覆制或貼上檔案;

5、安裝.apk檔案到模擬器上。

以下為一些常用的操作:

1、安裝應用到模擬器:

adb install51Testing軟體測試網N#nP vz

比較鬱悶的是,Android並沒有提供一個解除安裝應用的命令,只能自己手動刪除:

adb shell

cd /data/app

rm app.apk

2、進入裝置或模擬器的shell

adb shell

通過上面的命令,就可以進入裝置或模擬器的shell環境中,在這個Linux Shell中,你可以執行各種Linux的命令,另外如果只想執行一條shell命令,可以採用以下的方式:

adb shell [command]

如:adb shell dmesg會打印出核心的除錯資訊。

3、釋出埠:

你可以設定任意的埠號,做為主機向模擬器或裝置的請求埠。如:

adb forward tcp:5555 tcp:8000

4、複製檔案:

你可向一個裝置或從一個裝置中複製檔案,

複製一個檔案或目錄到裝置或模擬器上:

adb push

如:adb push test.txt /tmp/test.txt

從裝置或模擬器上覆制一個檔案或目錄:

adb pull

如:adb pull /addroid/lib/libwebcore.so .

5、搜尋模擬器/裝置的例項:

取得當前執行的模擬器/裝置的例項的列表及每個例項的狀態:51Testing軟體測試網K?;AO&O7Iz3F

adb devices

6、檢視bug報告:

adb bugreport

7、記錄無線通訊日誌

一般來說,無線通訊的日誌非常多,在執行時沒必要去記錄,但我們還是可以通過命令,設定記錄:51Testing軟體測試網en

adb shell51Testing軟體測試網PE[j/n0[?a4a</span></p><pstyle="MARGIN:0cm0cm0pt;"><spanlang="ENUS"><fontsize="3"><fontface="">logcatbradio</font></font></span></p><pstyle="MARGIN:0cm0cm0pt;"><spanlang="ENUS"><fontface=""size="3"></font></span></p><pstyle="MARGIN:0cm0cm0pt;"><fontsize="3"><fontface=""><spanlang="ENUS">8</span><span><spanlang="ENUS">ID</span><spanlang="ENUS"></span></span></font></font><spanstyle="DISPLAY:none;">51TestinghRlN4F_U]

adb get-product51Testing軟體測試網hSj*{haO%bz

adb get-serialno

9、訪問資料庫<