在平時的工做中,會常常用到adb命令,在這裏稍微整理了一下。android
一.概要shell
1.什麼是adb?緩存
adb全稱爲Android Debug Bridge,就是起到調試橋的做用。顧名思義,adb就是一個debug工具。app
2.adb的做用工具
藉助adb工具,咱們能夠管理設備或手機模擬器的狀態,還能夠進行不少手機操做,如安裝軟件、系統升級、運行shell命令等等。簡而言之,adb就是鏈接Android手機和PC端的橋樑,可讓用戶在電腦上對手機進行全面的操做。post
二.經常使用命令spa
這個部分主要介紹adb的使用方法和一些經常使用的命令。debug
設置adb環境:將android sdk工做目錄添加到系統環境變量中,則可以使用adb命令了。調試
1. adb devicesblog
查看當前鏈接的設備(鏈接計算機的Android設備或者模擬器)。
2.adb install
adb install <apk文件路徑>,將指定的apk安裝到設備上,安裝的apk包會放在/data/app目錄下。
幾個參數:
-r 強制安裝
-d(真機,多個設備中只有一個真機時適用)
-e(模擬器,多個設備中只有一個模擬器時適用)
-s(指定設備,後接序列號)
adb –s 44a188f9 install –r test.apk(其中44a188f9即序列號,經過adb devices可獲取)
3.adb uninstall
adb uninstall <apk包名>
adb uninstall –k <apk包名>
-k參數爲卸載軟件時保留配置和緩存文件
4.adb reboot
重啓android設備
5.adb shell
經過adb shell 命令,就能夠進入設備或者模擬器的shell環境了,在這個Linux shell中,咱們就能夠執行各類Linux命令了。
若是隻想執行一條shell命令,就能夠採用:adb shell [shell_command]
在實際使用中,常常與grep或findstr一塊兒使用,起到過濾做用,查看本身須要的關鍵信息。
6.adb shell su
前提手機已經root。獲取adb shell的root權限。
使用su提權,用戶命令提示符有$變成#,若是手機沒有root,會提示su:permission denied。
7.adb shell ps/top
查看當前終端中的進程信息,如pid等。
8.adb shell am/pm
am全稱爲activity manager,可以使用am命令模擬各類系統的行爲,如去啓動一個activity,強制中止進程,發送廣播進程,修改設備屏幕屬性等。
如:adb shell am start <apk包名>/<activityName>:啓動一個activity。
pm全稱爲package manager,利用pm命令可模擬android行爲或查詢設備上的應用等。
如:adb shell pm list packages
列出當前設備全部已安裝的程序的包名。
9.adb pull 和 adb push
adb pull <設備中的文件路徑> <本地路徑>:從模擬器或設備中複製文件到本地。
adb push <本地文件路徑> <設備中的路徑>:將本地文件或目錄複製到模擬器或設備。
這裏還涉及到一個權限的問題,在後續的博文中再做介紹。
10.adb shell dumpsys
Android提供的dumpsys工具用於查看感興趣的系統服務信息與狀態。
參考下表:
11.kill
kill用來停止一個進程。
好比咱們在跑monkey的時候,怎麼強制關閉monkey呢,能夠用kill <monkey進程PID>