Android常用adb命令總結(二)

來源:互聯網
上載者:User

標籤:簡單   version   例子   ble   androi   複製   存放位置   target   case   

adb shell 命令

 

簡單點講,adb 命令是 adb 這個程式內建的一些命令,而 adb shell 則是調用的 Android 系統中的命令,這些 Android 特有的命令都放在了 Android 裝置的 system/bin 目錄下,如下在命令列中敲這樣一個命令:
[email protected]:/ # adb shell jjj

adb shell jjj

/system/bin/sh: jjj: not found   很明顯,在 bin 目錄下並不存在這個命令。

想看看有哪些命令,也不想去找文檔,於是就啟動模擬器,將整個 system/bin 目錄複寫了出來,然後一個一個的去試。

C:\Users\Administrator>adb pull /system/bin/ E:\system-bin

 

 

開啟這些檔案就可以發現,裡面有些命令其實是一個 shell 指令碼,例如開啟 monkey 檔案:

 

開啟 am:

 

pm


Package Manager , 可以用擷取到一些安裝在 Android 裝置上得應用資訊
pm 的源碼 pm.java , 直接運行adb shell pm 可以擷取到該命令的協助資訊

 

pm list package 列出安裝在裝置上的應用

不帶任何選項:列出所有的應用的包名

 

-s:列出系統應用

adb shell pm list package -s

 

-3:列出第三方應用

adb shell pm list package -3

 

-f:列出應用程式套件名及對應的apk名及存放位置

adb shell pm list package -f

[email protected]:/ # pm list package -f

pm list package -f

package:/system/app/SoundRecorder.apk=com.android.soundrecorder

package:/system/app/SdkSetup.apk=com.android.sdksetup

 -i:列出應用程式套件名及其安裝來源,結果顯樣本子:

adb shell pm list package -i

 

 

package:com.zhihu.android installer=com.xiaomi.market

adb shell pm list package -i

命令最後加上grep關鍵字,可以很方便地尋找自己想要的應用

 

 

參數組合使用,例如,尋找三方應用中知乎的包名、apk存放位置、安裝來源:

[email protected]:/ # pm list package -f -i fused

pm list package -f -i fused

package:/system/app/FusedLocation.apk=com.android.location.fused  installer=null

 

pm path 列出對應包名的 .apk 位置

[email protected]:/ # pm path com.android.smoketest

pm path com.android.smoketest

package:/data/app/SmokeTestApp.apk

 

pm list instrumentation , 列出含有單元測試 case 的應用,

後面可跟參數 -f (與 pm list package 中一樣),以及 [target=package]

pm install , 安裝應用

目標 apk 存放於 PC 端,請用 adb install 安裝
目標 apk 存放於 Android 裝置上,請用 pm install 安裝

 

pm uninstall , 卸載應用,同 adb uninstall ,後面跟的參數都是應用的包名

 

amam start 程式名 , 啟動一個 Activity,已啟動系統相機應用為例

 

啟動通訊錄

[email protected]:/ # am start com.android.contacts

am start com.android.contacts

Starting: Intent { act=android.intent.action.MAIN cat=[android.intent.category.L

AUNCHER] pkg=com.android.contacts }

 

啟動撥號器撥打 10086

[email protected]:/ # am start -a android.intent.action.CALL -d tel:10086

am start -a android.intent.action.CALL -d tel:10086

Starting: Intent { act=android.intent.action.CALL dat=tel:xxxxx 

 

am monitor , 監控 crash(閃退) 與 ANR(Application Not Responding)

[email protected]:/ # am monitor

am monitor

Monitoring activity manager...  available commands:

(q)uit: finish monitoring

 

 

 

Input

這個命令可以向 Android 裝置發送按鍵事件,其源碼 Input.java

input text , 發送常值內容,不能發送中文(前提先將鍵盤設定為英文鍵盤)

[email protected]:/ # input text testrabbit

 

screencapadb shell screencap -p /sdcard/screen.png  命令

截屏,儲存至 sdcard 目錄

[email protected]:/ # screencap -p /sdcard/screen.jpg

screencap -p /sdcard/screen.jpg

 

查看到如下:

 

getprop

查看 Android 裝置的參數資訊,只運行 adb shell getprop,結果以 key : value 索引值對的形式顯示

adb shell getprop ro.build.version.sdk

擷取裝置的 sdk 版本

adb shell getprop ro.build.version.release

擷取手機系統版本:

 

 

 學習交流QQ:270224761 (ep)

 

Android常用adb命令總結(二)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.