linux___安裝虛擬環境(centos)
Android Debug Bridge
adb其實就是Android Debug Bridge
, Android 除錯橋的縮寫,adb 是一個C/S架構的命令列工具
這裡介紹一些裡面常用的命令:
-
adb devices , 獲取裝置列表及裝置狀態
[xuxu:~]$ adb devices List of devices attached 44c826a0 device
-
adb get-state , 獲取裝置的狀態
[xuxu:~]$ adb get-state device
裝置的狀態有 3 鍾,
device
,offline
,unknown
device:裝置正常連線
offline:連接出現異常,裝置無響應
unknown:沒有連線裝置 -
adb kill-server , adb start-server , 結束 adb 服務, 啟動 adb 服務,通常兩個命令一起用
一般在連接出現異常,使用 adb devices 未正常列出裝置, 裝置狀態異常時使用 kill-server,然後執行 start-server 進行重啟服務
-
adb logcat , 列印 Android 的系統日誌,這個可以單獨拿出來講
-
adb bugreport , 列印dumpsys、dumpstate、logcat的輸出,也是用於分析錯誤
輸出比較多,建議重定向到一個檔案中
adb bugreport > d:\bugreport.log
-
adb install , 安裝應用,覆蓋安裝是使用 -r 選項
windows 下如果需要安裝含有中文名的 apk ,需要對 adb 進行修改,百度可以找到做出修改的adb , 支援中文命令的 apk,請自行搜尋
-
adb uninstall , 解除安裝應用,後面跟的引數是
應用的包名
,請區別於apk 檔名
'-k' means keep the data and cache directories , -k 選項,解除安裝時儲存資料和快取目錄
-
adb pull , 將 Android 裝置上的檔案或者資料夾複製到本地
例如複製 Sdcard 下的 pull.txt 檔案到 D 盤:adb pull sdcard/pull.txt d:\
如果需要重新命名為 rename.txt:
adb pull sdcard/pull.txt d:\rename.txt
-
adb push , 推送本地檔案至 Android 裝置
例如推送 D 盤下的 push.txt 至 Sdcard:adb push d:\push.txt sdcard/
sdcard 後面的斜槓不能少,否則會出現下面的錯誤:
[xuxu:~]$ adb push push.txt sdcard failed to copy 'push.txt' to 'sdcard': Is a directory
許可權問題同 pull 命令
-
adb root , adb remount, 只針對類似小米開發版的手機有用,可以直接已這兩個命令獲取 root 許可權,並掛載系統檔案系統為可讀寫狀態
-
adb reboot , 重啟 Android 裝置
bootloader , 重啟裝置,進入 fastboot 模式,同 adb reboot-bootloader 命令
recovery , 重啟裝置,進入 recovery 模式,經常刷機的同學比較熟悉這個模式 -
adb forward , 將 宿主機上的某個埠重定向到裝置的某個埠
adb forward tcp:1314 tcp :8888
執行該命令後所有發往宿主機 1314 埠的訊息、資料都會轉發到 Android 裝置的 8888 埠上,因此可以通過遠端的方式控制 Android 裝置。
-
adb connect 遠端連線 Android 裝置
adb 命令是 adb 這個程式自帶的一些命令,而 adb shell 則是呼叫的 Android 系統中的命令,這些 Android 特有的命令都放在了 Android 裝置的 system/bin 目錄下
-
pm list package 列出安裝在裝置上的應用
不帶任何選項:列出所有的應用的包名(不知道怎麼找應用的包名的同學看這裡)
adb shell 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
-i:列出應用包名及其安裝來源,結果顯示例子:
package:com.zhihu.android installer=com.xiaomi.market
adb shell pm list package -i
命令最後增加 FILTER:過濾關鍵字,可以很方便地查詢自己想要的應用
引數組合使用,例如,查詢三方應用中
知乎
的包名、apk存放位置、安裝來源:[xuxu:~]$ adb shell pm list package -f -3 -i zhihu package:/data/app/com.zhihu.android-1.apk=com.zhihu.android installer=com.xiaomi.market
-
pm path 列出對應包名的 .apk 位置
[xuxu:~]$ adb shell pm path com.tencent.mobileqq package:/data/app/com.tencent.mobileqq-1.apk
-
pm list instrumentation , 列出含有單元測試 case 的應用,後面可跟引數 -f (與 pm list package 中一樣),以及 [TARGET-PACKAGE]
-
pm clear , 清除應用資料
-
pm set-install-location , pm get-install-location , 設定應用安裝位置,獲取應用安裝位置
-
[0/auto]:預設為自動
[1/internal]:預設為安裝在手機內部
[2/external]:預設安裝在外部儲存