android: shell 命令

yufan發表於2016-03-02
      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命令的相關內容就為大家介紹到這裡。

 

命令列工具ADB(Andvoid 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>

                                  dev:<character device name>

                                  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 partition  is updated.

 

 

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

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

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

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

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

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

以下為一些常用的操作:

1、安裝應用到模擬器:

adb install

比較鬱悶的是,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、搜尋模擬器/裝置的例項:

取得當前執行的模擬器/裝置的例項的列表及每個例項的狀態:

adb devices

 

6、檢視bug報告:

adb bugreport

 

7、記錄無線通訊日誌

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

adb shell

logcat -b radio

 

8、獲取裝置的ID和序列號:

adb get-product

adb get-serialno

 

9、訪問資料庫SQLite3

adb shell

sqlite3

 

安卓網的一個帖子,寫得不錯,記下來

ADB全稱Android Debug Bridge, 是android sdk裡的一個工具, 用這個工具可以直接操作管理android模擬器或者真實的andriod裝置(如G1手機).

它的主要功能有:


  • 執行裝置的shell(命令列)
  • 管理模擬器或裝置的埠對映
  • 計算機和裝置之間上傳/下載檔案
  • 將本地apk軟體安裝至模擬器或android裝置


ADB是一個 客戶端-伺服器端 程式, 其中客戶端是你用來操作的電腦, 伺服器端是android裝置.

先說安裝方法, 電腦上需要安裝客戶端. 客戶端包含在sdk裡. 裝置上不需要安裝, 只需要在手機上開啟選項settings-applications-development-USBdebugging.

對於Mac和Linux使用者, 下載好的sdk解壓後, 可以放~或者任意目錄. 然後修改~/.bash_profile檔案, 設定執行環境指向sdk的tools目錄.
具體是開啟~/.bash_profile檔案(如果沒有此檔案也可以自行新增), 在裡面加入一行:

export PATH=${PATH}:<你的sdk目錄>/tools

然後就可以使用adb命令了.

ADB常用的幾個命令
1. 檢視裝置

  • adb devices

這個命令是檢視當前連線的裝置, 連線到計算機的android裝置或者模擬器將會列出顯示

2. 安裝軟體

  • adb install <apk檔案路徑>

這個命令將指定的apk檔案安裝到裝置上

3. 解除安裝軟體

  • adb uninstall <軟體名>
  • adb uninstall -k <軟體名>

如果加 -k 引數,為解除安裝軟體但是保留配置和快取檔案.

4. 登入裝置shell

  • adb shell
  • adb shell <command命令>

這個命令將登入裝置的shell.
後面加<command命令>將是直接執行裝置命令, 相當於執行遠端命令

5. 從電腦上傳送檔案到裝置

  • adb push <本地路徑> <遠端路徑>

用push命令可以把本機電腦上的檔案或者資料夾複製到裝置(手機)

6. 從裝置上下載檔案到電腦

  • adb pull <遠端路徑> <本地路徑>

用pull命令可以把裝置(手機)上的檔案或者資料夾複製到本機電腦

7. 顯示幫助資訊

  • adb help

這個命令將顯示幫助資訊

 

刪除Android系統Rom自帶的軟體

 

Android系統沒有解除安裝Rom自帶軟體的功能.可能有些同學很想刪除廢了武功的Youtube,想刪除牆那邊的Twitter.

加上Android的快捷方式沒法修改沒法自己排序沒法分頁.

安裝的程式太多就會發現原來找到自己想要的東西很難.

綜上所述,我覺得告知各位菜鳥同學如何刪除自帶的程式是很有必要的一件事情.

1.確定手機root了,取得了root許可權才能刪除系統檔案呀.

2.下載Android_db.rar,解壓到%windir/%System32下.

3.手機連線資料線,在電腦上開啟cmd,然後輸入命令

 

adb remount

adb shell

su

執行完成之後,你會看到:

* daemon not running. starting it now *

* daemon started successfully *

4.接著就是Linux命令列模式了,輸入

 

cd system/app

你會發現沒啥變化,然後輸入ls回車.

這時候列表顯示了system/app裡面的所有檔案,也就是Rom整合的一些軟體了.

5.開始刪除吧.比如刪除Youtube,他的檔名是Youtube.odex和Youtube.apk

我們要刪除這2個檔案,敲入以下命令:

 

rm Youtube.*

重啟,Youtube已經刪除掉了,注意各位同學千萬不要刪除你不知道是啥的東西.

 

指定允許AVD的記憶體大小:

emulator -avd avdName -partition-size 256

啟動一個叫avdName的模擬器,允許記憶體最大為256M

 

 

adb -d 當Android手機用USB連線計算機時可通過adb-d對該裝置下命令
adb -e對正在執行的模擬器下指令
adb -s指定模擬器序號
adb dervices顯示當前啟動的模擬器裝置序號
adb help顯示adb指令用法
adb verson顯示adb版本
adb install安裝APK應用程式元件
adb push上傳檔案或目錄(adb push 檔案所在PC的位置即檔名 目的位置)
adb pull下載檔案或目錄(adb pull 檔案所在手機的位置即檔名 目的位置)
adb shell進入Android系統命令列模式
adb logcat監控模擬器執行記錄
adb bugreport生成adb出錯報告
adb start-server啟動adb伺服器
adb kill-server關閉adb伺服器
adb get-state取得adb伺服器執行狀態
adb get-serialno獲得模擬器執行序號
adb forward tcp:port更改模擬器的網路TCP通訊埠