㈠ ADB常用命令
android 調試橋 (adb) ,可與設備進行通信。adb 命令可用於執行各種設備操作(例如安裝和調試應用),並提供對 Unix shell(可用來在設備上運行各種命令)的訪問許可權。它是一種客戶端-伺服器程序,包括以下三個組件:
客戶端: 用於發送命令。客戶端在開發機器上運行。可以通過發出 adb 命令從命令行終端調用客戶端。(可以通過它對Android應用進行安裝、卸載、調試)
PC上的手機助手基本都是通過adb命令去完成的。有時候裝了這類手機助手的話,它自帶的adb程序可能會與Android SDK下的adb程序產生沖突,5037埠被佔用,導致adb命令無法連接到設備。Windows下通過netstat -ano|findstr "5037"
守護程序 (adbd): 用於在設備上運行命令。守護程序在每個設備上作為後台進程運行
執行adb shell ps | grep adbd, 可以找到該後台進程,Windows使用findstr替代grep.
adb nodaemon server
伺服器(Service): 用於管理客戶端與守護程序之間的通信。伺服器在開發機器上作為後台進程運行
adb服務啟動後,Windows可以在任務管理中找到adb.exe; linux ps -ef | gref adb 可以查看service
一般都是通過這樣子的格式 adb [-d|-e|-s <設備序列號>] <子命令>
通常只有一台設備就忽略 [-d|-e|-s ] 這一部分
這里介紹一些常用的命令:
獲取設備列表及設備狀態
獲取設備的狀態
注意:設備的狀態有 3 鍾,device , offline , unknown
device:設備正常連接
offline:連接出現異常,設備無響應
unknown:沒有連接設備
結束 adb 服務
啟動 adb 服務
注意:通常兩個命令一起用,有時候我們開啟server會失敗,這是因為我們裝了的手機助手,豌豆莢或者其他軟體自帶有自己的adb,導致埠沖突開啟失敗。一般在連接出現異常,使用 adb devices 未正常列出設備, 設備狀態異常時使用 kill-server,然後運行 start-server 進行重啟服務。
列印 Android 的系統日誌
列印 mpsys、mpstate、logcat 的輸出,也是用於分析錯誤輸出比較多
列印日誌後重定向到一個文件中
安裝應用,覆蓋安裝是使用 -r 選項
注意:有些adb版本無法支持安裝中文的apk
查看手機應用包名
查看應用對應的apk文件在手機上的安裝位置則可以在上面的命令後加-f參數
卸載應用,後面跟的參數是應用的包名,請區別於 apk 文件名
'-k' means keep the data and cache directories , -k 選項,卸載時保存數據和緩存目錄
將 Android 設備上的文件或者文件夾復制到本地
adb pull /sdcard/test.txt C:\Users\Administrator\Desktop\log
推送本地文件至 Android 設備
獲取連接到的手機的序列號
獲取設備的連接狀態
等待設備連接成功
該命令將會阻塞一直到默認連接的那部機器狀態變為device,也就是連接成功。
其實adb shell命令就是調用的是Android設備中的system/bin目錄下的命令。
Android的內核本身就是Linux,所以Android本身也支持Linux命令,但是因為是手機系統,所以進行了一定的刪減,部分命令不支持,而不支持的部分,我們可以通過安裝busybox這個軟體進行。
如何在手機中執行Shell命令?
每次都加上adb shell來進行命令的發送與執行
先通過adb shell進入手機Shell執行狀態,然後直接輸入Linux命令。
使一個apk處於禁用狀態,相當於卸載了:
其中 PACKAGE_OR_COMPONENT的格式是 package/class, 如 com.UCMobile/.main.UCMobile
eg:adb shell su disable com.UCMobile/.main.UCMobile
同時我們在手機上發現,UC瀏覽器的圖標不見了
讓一個apk從禁用狀態恢復過來
其中 PACKAGE_OR_COMPONENT的格式是 package/class, 如 com.UCMobile/.main.UCMobileeg:
adb shell su enable com.UCMobile/.main.UCMobile
同時我們從手機上發現,UC瀏覽器的圖標又出現了。
查看一個apk所在的路徑
adb shell pm path com.UCMobile
查看手機中裝的所有的包
屏幕開始錄像並且儲存到/sdcard中,同時名字為demo.mp4
錄屏設置時長10s,命名為demo.mp4
注意:現在僅支持一部分手機錄屏,不支持的手機會出現以下提示
解決方法:
安裝了scrcpy之後,只需要輸入如下命令,即可錄取指定設備的屏幕
scrcpy -s device --render-expired-frames -Nr ./demo.pm4
--render-expired-frames:盡可能最大幀率
-N:不在PC端展示
-r:錄制mp4/mkv文件
關閉設備請求,開啟設備
設備關機以及重啟
pm(package manager)可以獲取一些安裝到Android設備上的app的信息
pm list packages 用法:list packages [ options] filter
獲取所有的應用的包名
列出系統應用
列出第三方應用
查看它們的關聯文件
adb shell pm list package -f
查看軟體包的安裝來源
pm mp 包名 很多mp信息
安裝應用
apk如果在電腦用 adb install
如果在Android設備上用 adb shell pm install
卸載應用,同adb uninstall ,後跟包名
清除應用數據
am(activity manager,字面意思就跟activity有關,大家都知道Android的界面都是由一個個activity顯示的)
啟動一個Activity
獲取到package和launch_activity
AndroidSDK中aapt工具,檢索命令結果,可以獲取到package和launch_activity
這里涉及到一個點,如何找到程序的入口,首先你要知道是哪個activity才能啟動;
啟動華為系統相機
打開音樂播放器
播放指定音樂:
先停止目標應用,再啟動
等待應用完成啟動
啟動網頁(android.intent.action.VIEW具體參考Android官網)
結束應用
input
模擬輸入,向獲得焦點的EditText控制項輸入內容
返回主界面
發送一個點擊操作的指令,參數是<x> <y>坐標
從左往右滑動屏幕, /從 100 100 經歷300毫秒滑動到 200 200
長按操作,在 100 100 位置長按 1000毫秒
㈡ 常用的adb命令
在平時的工作中,會經常用到adb命令,在這里稍微整理了一下。
一.概要
1.什麼是adb?
adb全稱為Android Debug Bridge,就是起到調試橋的作用。顧名思義,adb就是一個debug工具。
2.adb工作原理
不是很理解?那就來看看它的工作原理吧。
上圖是一個簡單的adb工作原理圖。adb客戶端伺服器端程序,由上圖可以看出它主要三個組件組成:Client,Server,Daemon。
(1)當你啟動一個adb Client(客戶端),Client首先會選確認是否已有一個adb
Server(伺服器)進程在運行,如果沒有,則會啟動Server進程。此時,adb Server就會綁定本地的TCP埠5037,並監聽adb
Client發來的命令。
(2)接著,Server將會掃描所有5555到5585范圍內的奇數埠來定位所有的模擬器或設備,並與之建立連接。一旦Server找到
了adb
daemon(守護程序),它將建立一個到該埠的連接,這樣,我們就可以使用adb命令控制和訪問模擬器或設備了。在這里,需注意的是任何模擬器或設備實例會取得兩個連續的埠:一個偶數埠用來相應控制台的連接,和一個奇數埠用來響應adb連接。
3.adb的作用
藉助adb工具,我們可以管理設備或手機模擬器的狀態,還可以進行很多手機操作,如安裝軟體、系統升級、運行shell命令等等。簡而言之,adb就是連接Android手機和PC端的橋梁,可以讓用戶在電腦上對手機進行全面的操作。
二.常用命令
這個部分主要介紹adb的使用方法和一些常用的命令。
設置adb環境:將android sdk工作目錄添加到系統環境變數中,則可使用adb命令了。
1. adb devices
查看當前連接的設備(連接計算機的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
列出當前設備所有已安裝的程序的包名。
說明:
管道符「|」:可以把標準的輸入流與標準的輸出流進行合並,或者把某個命令的標准輸出流作為另一個命令的標准輸入流。
exit退出shell。
由於grep為linux命令,運行單條adb shell 時並沒有進入linux
shell環境,並不能用grep等其他linux命令,只能用window cmd的命令。在這里可以用findstr來代替grep,使用方法為
findstr/grep [keyword]
更詳細的內容可查看 參考文獻3 和 參考文獻4 。
對於常用的linux命令和常用的windows 控制台命令,以後再作總結。
9.adb pull 和 adb push
adb pull <設備中的文件路徑> <本地路徑>:從模擬器或設備中復制文件到本地。
adb push <本地文件路徑> <設備中的路徑>:將本地文件或目錄復制到模擬器或設備。
這里還涉及到一個許可權的問題,在後續的博文中再作介紹。
10.adb shell mpsys
Android提供的mpsys工具用於查看感興趣的系統服務信息與狀態。
參考下表:
11.adb shell monkey
跑monkey是android自動化測試的一種手段,所謂monkey測試就是模擬用戶的按鍵輸入,觸摸屏輸入,手勢輸入等。當Monkey程序在模擬器或設備運行的時候,如果用戶比如點擊,觸摸,手勢或一些系統級別的事件的時候,它就會產生隨機脈沖,所以可以用Monkey的隨機重復的方法對apk作壓力測試,來測試android
app的穩定性。
如下為測試騰訊新聞apk的一個簡單實例:
說明:第一個-s指定設備,如果只連接了一台設備,可不用該參數。
-p <apk包名>只允許系統啟動指定的app,如果不指定,將允許系統啟動設備中的所有app,也可指定多個包。
--throttle <毫秒數> 指定用戶操作(事件)間的時延。
--ignore-crashes 指定當應用程序崩潰時,Monkey依然發送事件,直到事件計數完成。
--ignore-timeouts 當應用程序發生ANR錯誤時,Monkey依然會發送事件,直到事件計數完成。
第2個-s,用於指定偽隨機數生成器的seed值,如果seed相同,則兩次Monkey測試所產生的事件序列也相同的。
-v 用於指定反饋信息級別,總共分為level 0、level 1、level 2三個級別,級別越高,輸出的日誌越詳細。
最後的數字(這里是500):表示Monkey程序模擬500次隨機用戶操作事件。
>輸出測試結果到D:\monkeylog.txt
更詳細的參數可查看 參考文獻5 。
部分測試結果如下:
對於測試結果的分析,通過搜索關鍵詞來定位錯誤,主要包括以下四個方面:
1)ANR(Application Not
Response):程序無響應,一般主線程超過5秒沒處理就會出現ANR錯誤。通過搜索ANR關鍵詞來定位關鍵的事件信息。除了導出日誌外,還可以將/data/anr/目錄下的trace.txt文件導出,用來定位分析問題。使用>adb
pull /data/anr/trace.txt d:\ 將trace.txt文件導出到d盤。
2)ForceClosed或其他異常退出信息:通過搜索Fatal關鍵詞來定位。
3)崩潰問題:通過搜索Exception關鍵詞來定位。
4)發生異常後,通過搜索Crash關鍵詞來定位到詳細的堆棧信息。
12.kill
kill用來中止一個進程。
比如我們在跑monkey的時候,怎麼強制關閉monkey呢,可以用kill <monkey進程PID>
說明:另開啟一個cmd,找到monkey的pid號,然後殺掉即可。
參考文獻:
1.Android調試橋: http://www.iteye.com/topic/260042
2.Android性能分析工具mpsys的使用: http://www.open-open.com/lib/view/open1405061994872.html
3.adb shell 中的am pm命令: http://www.android100.org/html/201312/09/4957.html
4.adb shell 啟動應用程序的方法: http://blog.chinaunix.net/uid-26997997-id-3350449.html
5.Monkey壓力測試詳解: http://blog.csdn.net/huangbiao86/article/details/8490743
㈢ ADB常用命令大全
安卓調試橋(Android Debug Bridge),是Android SDK中的一個調試工具, 使用adb可以直接操作管理Android模擬器或Andriod真機設備,在開發測試過程中,起到調試的作用。
adb.exe的存放路徑:Android-SDKplatform-tools
adb help //查看幫助
adb version //查看adb版本號
adb devices //查看設備
adb connect IP:port //連接設備
adb disconnect //斷開連接的所有設備
adb disconnect IP:port //斷開連接指定設備
adb root //獲取root許可權
adb remount //重新掛載文件系統(默認只讀,執行命令後可寫)
adb install Package //安裝APK
adb install -r Package //強制覆蓋安裝
adb install -t Package //允許降級覆蓋安裝
adb install -d Package //允許測試包
adb uninstall PackageName //卸載APK
adb uninstall -k (keep) PackageName //保留用戶數據卸載
adb pull //將設備文件文件發送到PC
adb push //將PC文件發送到設備
adb logcat -c //清空日誌
adb logcat -v threadtime >D:111.log //抓日誌並輸出保存D:111.log
adb shell screencap /sdcard/screen.png //屏幕截圖(並存放sdcard目錄,命名screen.png)
adb shell screenrecord /sdcard/demo.mp4 //錄制屏幕(Android4.4以上可用)
adb shell mpsys activity activities //查看activity信息
adb shell mpsys activity |findstr mResumedActivity //獲取當前activity信息
adb shell mpsys window windows | findstr 「Current」 //查看當前app窗口activity
adb shell //進入設備內部
cd //切換目錄
pwd //查看當前路徑
ping //查看網路連接
rm* //刪除目錄下的所有文件
cp -r /path/filename /NewPath //拷貝文件
busybox find / -name FileName //查找文件
tcpmp -i any -p -s 0 -w /data/data/1111.pcap //抓取網路包
pm uninstall PackageName //卸載APK
pm path PackageName //查看APK存放位置
pm clear PackageName //清除APK緩存
mpsys package om.android.xxx //查看APK的具體信息
mpsys package om.android.xxx | grep version //查看APK版本
mpsys package com.tencent.mm | findstr versionName //查看APK版本
am start PackageName //拉起APK
am start -n com.android.xxx/.WelcomeActivity //直接拉起APK的指定WelcomeActivity
am start -a android.intent.action.VIEW -d http://www..com //拉起網路
am start -n om.android.xxx/.WelcomeActivity --es actionUrl "http://sns.is.xxxxx.com/CCTV/index.html?action=detail&object=5005153" //指定Activity上拉起H5
am force-stop + 報名 //殺死進程
kill `ps |grep -E "icntv|istv" | busybox awk '{print $2}'` //殺進程
md5 com.android.xxx //查看已安裝應用MD5
busybox vi hispreinstall.sh //編輯文件(命令行)
chmod 777 /system/bin/hispreinstall.sh //修改許可權
cat /system/build.prop | grep "proct" //查看設備信息
exit //退出shell交互模式
adb shell getprop ro.build.version.release //查看Android系統版本
adb get-serialno //獲取手機序列號
adb shell mpsys package //列出所有安裝應用的信息
adb shell pm list packages //查看設備中的所有應用的包名
adb shell cat/proc/cpuinfo //獲取CPU型號等信息(HardWare後面是CPU型號)
adb shell "ps | grep packageName" //查指定程序pid
adb shell getprop //查看手機信息
adb shell getprop ro.serialno //查看手機序列號
adb shell cat /proc/cpuinfo //查看手機CPU信息
adb shell cat /proc/meminfo //查看手機內存信息
adb reboot recovery //重啟手機到recovery刷機模式
adb reboot bootloader //重啟手機到bootloader界面
adb shell mpsys battery //獲取電池信息
adb shell mpsys battery set status 1 //設置手機進入非充電狀態,為2設置充電狀態
adb shell mpsys battery set level 100 //設置電量百分比
adb shell mpsys batterystats //獲取整個設備的電量消耗信息
adb shell mpsys batterystats | more //綜合電量消耗
adb shell mpsys batterystats com.android.xxx //獲取某個apk的電量消耗信息
adb shell mpsys batterystats packageName | more //獲取指定程序電量消耗信息
adb shell cat /proc/uid_stat/$PID/tcp_snd //發送的數據流量
adb shell cat /proc/uid_stat/$PID/tcp_rcv //接收的數據流量
procrank //查看內存
adb shell top | findstr com.android.xxx //查看指定APK內存
top -n 3 |grep -E "com.android.xxx|android.yyy" //查看內存
adb shell mpsys cpuinfo |findstr com.android.xxx //查看指定APK CPU
mpsys cpuinfo |grep -E "com.android.xxx|android.yyy" //查看CPU
adb shell settings put global http_proxy ip(PC):port(默認8888) //設置代理
adb shell settings get global http_proxy //查看代理
adb shell sqlite3 /data/data/com.android.providers.settings/databases/settings.db //進入sqlite
delete from global where name in('global_http_proxy_host','global_http_proxy_port','http_proxy'); //移除代理
adb shell stop //關閉設備
adb shell start //開啟設備
adb start-server //啟動adb服務
adb kill-server //關閉adb服務
adb reboot //重啟手機
adb shutdown //關閉手機
1、首次使用USB線連接Android手機,然後打開Terminal輸入:adb tcpip 埠號(默認5555)
2、查看手機IP地址:設置->關於手機->狀態信息->IP地址
3、通過adb連接ip地址:adb connect IP:port
㈣ 常見的adb 和 mankey 命令
一、常用adb命令
1、adb devices:查看已連接的設備
2、adb version:查看adb的版本序列號
3、adb -s <設備名字>:指定某設備做什麼(設備名字用1的方法可以查看)
4、adb install <安裝包.apk>:安裝應用(寫清楚apk的完整路徑)adb -s <設備名字> install <安裝包.apk>:指定設備安裝應用
5、adb shell:通過遠程shell命令來控制模擬器/設備
6、exit:退出shell遠程連接,回到原路徑。(Ctrl+d,退出shell,回到默認路徑)
7、adb pull <設備端路徑> <pc端路徑>:將指定的文件從設備/模擬器上拷貝到pc端(後面的pc端路徑可以不指定,默認存儲在當前路徑下)。例: adb pull /sdcard/log.txt c:/monkey
8、adb push <pc端路徑> <設備端路徑>:將指定的文件從pc端拷貝到設備/模擬器上
9、adb shell pm list packages:列出電腦端所有apk的包名
10、adb logcat:查看pc端的日誌輸出。adb shell界面只需輸入logcat,查看設備端日誌輸出(退出Ctrl+c)
二、Monkey命令擴展
1、最簡單的monkey執行語句:(adb shell)monkey –p com.jianjiexuan.na –v 500 (對com.jianjiexuan.na 這個程序包單獨進行一次500次的monkey測試)
名詞解釋:-p:用於約束限制,用此參數指定一個或多個包。指定包之後,Monkey將只允許系統啟動指定的APP。如果不指定包,Monkey將允許系統啟動設備中的所有APP。指定多個包:monkey -p –p -p -v 500-v:用於指定反饋信息級別(信息級別就是日誌的詳細程度),總共分3個級別,分別對應的參數如下表所示:
日誌級別 Level 0
例 monkey –p com.jianjiexuan.na –v 500說明:預設值,僅提供啟動提示、測試完成和最終結果等少量信息
日誌級別 Level 1
例 monkey –p com.jianjiexuan.na –v -v 500說明:提供較為詳細的日誌,包括每個發送到Activity的事件信息
日誌級別 Level 2
例 monkey –p com.jianjiexuan.na –v -v -v 500
說明:最詳細的日誌,包括了測試中選中/未選中的Activity信息
2、延時及固定序列(adb shell)monkey -s 100 -p com.jianjiexuan.na – -throttle 1000 -v 500 (每次執行一次有效的事件後休眠1000毫秒)(adb shell)monkey -p com.jianjiexuan.na – -throttle 1000 – -randomize-throttle -v 500 (每次執行一次有效事件後隨機延時0-200毫秒)名詞解釋:-s:用於指定偽隨機數生成器的seed值,如果seed相同,則兩次Monkey測試所產生的事件序列也相同的。出現問題下次可以重復同樣的系列進行排錯。–throttle:固定延時,用於指定用戶操作(即事件)間的時延,單位是毫秒;–randomize-throttle:隨機延時,用於指定用戶操作(即事件)間的時延,單位是毫秒。
3、保存monkey運行結果1)保存在PC中adb shell monkey –p com.jianjiexuan.na –v 500 > d:\monkey\log.txt 2)保存在手機中手機端進入shell模式:adb shell monkey –p com.jianjiexuan.na –v 500 > /mnt/sdcard/monkey/log.txt
㈤ 常用adb命令總結
前言
很早就想整理一下自己平時常用的一些adb命令,不僅為了便於以後查找,而且整理的過程自己又重新復習了一遍,但是當我開始在度娘一搜的時候,發現很多人已經寫的非常詳細了,尤其是當我發現了 這篇adb概括
心中一句NND,怎麼可以寫的這么詳細,瞬間沒了想寫這篇文章的慾望,如果你點了鏈接發現確實很全,那麼恭喜你可以關掉這篇了,哈哈哈。
我就不這么想的,雖然很全,但不是我常用的,因人而異,所以我就權當記筆記+替這哥們宣傳了。
設備的狀態有 3 種
常見的錯誤情況
-查看前台 Activity
最常用的就是啟動指定的activity和發送指定的廣播
操作指令 adb shell am start -n 包名/類名
啟動默認瀏覽器打開一個網頁
adb shell am start -a android.intent.action.VIEW -d http://testerhome.com
先停止目標應用,再啟動
adb shell am start -s com.android.camera/.Camera
啟動相機
adb shell am start -n com.android.camera/.Camera
啟動設置
adb shell am start -n com.android.settings/com.android.settings.Settings
啟動Wifi設置
adb shell am start -n com.android.settings/com.android.settings.wifi.WifiSettings
啟動藍牙設置
adb shell am start -n com.android.settings/com.android.settings.bluetooth.BluetoothSettings
其它的類似只要你能在manifest中找到配置的,都可以通過這種方法來調用
操作指令 adb shell am broadcast -a 廣播名 --ei/es/ez 參數名 參數值 --ei/es/ez 參數名 參數值
--ei integer 值
--es String 值
--ez boolean 值
--ef float 值
--el long 值
例如之前寫的
Android6.0 源碼修改之Setting列表配置項動態添加和靜態添加 , 當中就通過發送廣播來接收增加配置列表項
adb shell am broadcast -a cn.dynamic.add.settingcategoryitem --es location "0-2" --es title "紅" --es intent "com.android.settings.SCHEDULE_POWER_ON_OFF_SETTING"
命令:
adb shell settings put global policy_control <key-values>
<key-values> 可由如下幾種鍵及其對應的值組成,格式為 key1=value1:key2=value2。
key 含義
這些鍵對應的值可則如下值用逗號組合:
value 含義
例如:
adb shell settings put global policy_control immersive.full=*
表示設置在所有界面下都同時隱藏狀態欄和導航欄。(重啟也不會失效,恢復需調用下面的命令)
adb shell settings put global policy_control immersive.preconfirms=*
表示恢復顯示
adb shell settings put global policy_control immersive.status=com.package1,com.package2:immersive.navigation=apps,-com.package3
表示設置在包名為 com.package1 和 com.package2 的應用里隱藏狀態欄,在除了包名為 com.package3 的所有應用里隱藏導航欄。
參考鏈接
Android 常用 adb 命令總結
ADB命令大全
㈥ adb 常用命令
1、adb shell am force-stop 後跟包名,結束應用
2、adb install +包名 adb安裝apk (覆蓋安裝是使用 -r 選項)
3、adb uninstall +包名 adb卸載apk
adb uninstall -k cnblogs.apk 卸載app但保留數據和緩存文件
4、adb reboot 重啟Android設備
5、adb devices 獲取連接的設備列表及設備狀態
6、adb push (PC到Android設備)
例:adb push E:\0713\ellip_factroy__debug.apk storage/self/primary
7、adb pull(Android設備到PC)
例:adb pull /storage/self/primary/EL_v3.0.0.6_release.apk E:\0713
8、adb shell pm list package 列出所有的應用的包名 (-s:列出系統應用 -3:列出第三方應用 -f:列出應用包名及對應的apk名及存放位置 -i:列出應用包名及其安裝來源)
9、input : 向 Android 設備發送按鍵
1)adb shell input keyevent + 按鍵事件 發送按鍵事件 例如:adb shell input keyevent KEYCODE_HOME 模擬按下Home鍵
2)3 adb shell input tap +觸摸事件的位置 , 對屏幕發送一個觸摸事件 例如:點擊屏幕上坐標為 500 500 的位置(adb shell input tap 500 500)
3)adb shell input swipe 滑動事件 例如:從右往左滑動屏幕 (adb shell input swipe 800 600 100 600)
10、screencap 截圖命令 adb shell screencap -p /sdcard/qq/1.png
11、screenrecord 錄屏命令 adb shell screenrecord /sdcard/qq/1.mp4,執行命令後操作手機,ctrl + c 結束錄制
12、clear 清除應用數據 adb shell pm clear com.
13、復制、刪除 、查看文件、新建文件夾
adb shell進入Android Linux命令中,
復制cp: cp -f /sdcard/qq/1.png /sdcard/aa
刪除文件rm:rm /sdcard/qq/1.png
刪除文件夾rm -r:rm -r /sdcard/qq
查看文件cat:cat /sdcard/qq/1.txt
新建文件夾:mkdir /sdcard/cc
adb shell mkdir -m 777 /sdcard/cc 創建文件夾cc並給文件夾賦予讀寫執行的許可權
adb shell mkdir -p/sdcard/Download/Demo/test1,如果Demo目錄不存在,執行該條命令會創建Demo目錄和其子目錄test1
新建文件:touch /sdcard/cc/1.txt
移動文件:adb shell mv /sdcard/Download/test1.log /sdcard/Download/Demo/
重命名:adb shell mv /sdcard/Download/Demo/test1.log /sdcard/Download/Demo/test.lg
14、adb logcat > D:\log.txt 將日誌列印到電腦上
15、獲取手機內部存儲信息: adb shell df /data
獲取sdcard存儲信息:adb shell df /storage/sdcard
㈦ Android常用的ADB命令
重啟:adb reboot
推文件:adb push E:\xxx.txt storage/sdcard
拉文件:adb push storage/sdcard .
將日誌保存到電腦文件: adb logcat > xxx. xxx電腦文本地址
清除指定應用的數據和緩存:adb shell pm clear 例:adb shell pm clear com.yzl.test
查看日誌緩沖區大小:adb shell logcat-g
設置日誌緩沖區大小:adb logcat-G10M
打開藍牙:adb shell svc bluetooth enable
關閉藍牙:adb shell svc bluetooth disable
查詢藍牙是否打開:adb shell settingsgetglobalbluetooth_on
獲取藍牙Mac地址:adb shell settingsgetsecure bluetooth_address
獲取某個包名的安裝路徑:adb shell pm path com.xx.xx
查看所有存活的進程:adb shell ps
過濾關鍵字查看adb shell ps|findstr xxx
強制安裝版本號更低的apk:adb install -r -d "C:\xx.apk"
對指定應用進行500次模擬觸摸事件:adb shell monkey -p com.yzl.test -v 500
查看某個apk的應用信息、版本信息:adb shell mpsys package com.yzl.test
查看已安裝應用列表:adb shell pm list package或adb shell pm list packages-s