adb

[TOC]

ubuntu安裝adb

卸載內(nèi)置手機(jī)軟件

顯示所有應(yīng)用 adb shell pm list packages
adb shell pm uninstall --user 0 com.miui.fm

先安裝adb

1.adb下載

2.在變量里找到PATH晨川,添加你的adb.exe的路徑

手機(jī)連接adb

查看已連接的設(shè)備:adb devices

會顯示serial number 和 device

有線:

手機(jī)打開開發(fā)者調(diào)試婆跑,打開cmd窗口,輸入adb version 即可看到你的adb版本

無線:

手機(jī)先有線連接
確定手機(jī)和電腦端的wifi通訊端口:adb tcpip 5555
查看手機(jī)ip:adb shell netcfg
拔掉usb線谱姓,再adb connect 192.168.0.117

adb常用命令

adb 命令如下:

adb [-d|-e|-s <serialNumber>] <command>

如果只有一個(gè)設(shè)備直接使用 adb <command>
多個(gè)設(shè)備-s <serialNumber> 指定相應(yīng) serialNumber 號的設(shè)備/模擬器為命令目標(biāo)

文件

操作文件和文件夾有時(shí)會出現(xiàn)權(quán)限不夠蹈丸,Read-only file system。就需要adb remount 操作,獲得權(quán)限绍妨。

創(chuàng)建xxx的文件夾

mkdir xxx

刪除名字為xxx的文件夾及其里面的所有文件

rm -r xxx

刪除文件xxx

rm xxx

刪除xxx的文件夾

rmdir xxx

推送文件到設(shè)備:adb push C:\Users\csi\Videos\a.png /sdcard/Download/browser

本機(jī)路徑容易獲取,但是手機(jī)路徑如何獲取呢柬脸?可以使用adb shell然后利用ls列出文件他去,最后要退出adb shell
因?yàn)閍db shell不能執(zhí)行adb phsh/pull命令

拉取文件到電腦:adb pull /sdcard/Download/browser/UNv1.0.en-zh.tar.gz.00 C:\Users\csi\Videos

應(yīng)用

查看已安裝應(yīng)用

adb shell pm list package

列出第三方應(yīng)用

adb shell pm list package -3

-s:列出系統(tǒng)應(yīng)用
-f:列出應(yīng)用包名及對應(yīng)的apk名及存放位置
-i:列出應(yīng)用包名及其安裝來源:
參數(shù)組合使用,例如查找第三方應(yīng)用tencent的包名倒堕、存放位置及安裝來源:
adb shell pm list package -f -3 -i tencent

image.png

列出對應(yīng)包名的 .apk 位置

adb shell pm path com.tencent.mm

image.png

安裝應(yīng)用 :adb install [-r] xxx.apk

-r 允許覆蓋安裝灾测。
-s 將應(yīng)用安裝到 sdcard。
-d 允許降級覆蓋安裝垦巴。
apk路徑則可以直接將apk文件拖進(jìn)cmd窗口媳搪,記得加空格。

pm install , 安裝應(yīng)用

目標(biāo) apk 若是存放在 PC 端魂那,用 adb install 安裝
目標(biāo) apk 若是存放于 Android 設(shè)備上蛾号,用 pm install 安裝
如:
pm uninstall, 卸載應(yīng)用,同 adb uninstall , 后面跟的參數(shù)都是應(yīng)用的包名

清除應(yīng)用數(shù)據(jù)與緩存

adb shell pm clear (apk包名)

image.png

設(shè)置應(yīng)用安裝位置

pm set-install-location

獲取應(yīng)用安裝位置

pm get-install-location

卸載應(yīng)用 adb uninstall (應(yīng)用的包名)

-k 卸載應(yīng)用但保留數(shù)據(jù)和緩沖


image.png
刪除系統(tǒng)應(yīng)用:

adb remount(重新掛載系統(tǒng)分區(qū)涯雅,使系統(tǒng)分區(qū)重新可寫)鲜结。
有些設(shè)備并不能直接adb remount,必須要先以root身份進(jìn)入活逆,先執(zhí)行adb root精刷,在執(zhí)行adb remount
adb shell
cd system/app/
ls
rm ?蔗候?.apk

adb 命令是 adb 這個(gè)程序自帶的一些命令怒允,而 adb shell 則是調(diào)用的 Android 系統(tǒng)中的命令,這些 Android 特有的命令都放在了 Android 設(shè)備的 system/bin 目錄下锈遥。

查看wifi密碼:

adb shell cat /data/misc/wifi/*.conf

am start :啟動一個(gè)應(yīng)用纫事,這里以啟動我們設(shè)備的“設(shè)置”應(yīng)用為例

adb shell am start -n com.android.settings/.Settings

若不清楚“設(shè)置”的包名勘畔,可以通過命令,先找出當(dāng)前開啟的設(shè)備丽惶,然后復(fù)制路徑即可

adb shell dumpsys activity | find “mFocusedActivity”

image.png

1.先打開app界面

查看當(dāng)前app的入口
adb shell dumpsys window windows | findstr "Current"

image.png

2.打開App方式 1

adb shell am start -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -n com.eg.android.AlipayGphone/com.eg.android.AlipayGphone.AlipayLogin
方式2
adb shell am start -n com.eg.android.AlipayGphone/com.eg.android.AlipayGphone.AlipayLogin

殺死某個(gè)進(jìn)程:(三個(gè)步驟)

adb shell
ps查看進(jìn)程命令
kill pid

強(qiáng)制停止應(yīng)用:

adb shell am force-stop com.eg.android.AlipayGphone

交互

input命令

完整 help 信息如下:

Usage: input [<source>] <command> [<arg>...]

The sources are:
      mouse
      keyboard
      joystick
      touchnavigation
      touchpad
      trackball
      stylus
      dpad
      gesture
      touchscreen
      gamepad

The commands and default sources are:
      text <string> (Default: touchscreen)
      keyevent [--longpress] <key code number or name> ... (Default: keyboard)
      tap <x> <y> (Default: touchscreen)
      swipe <x1> <y1> <x2> <y2> [duration(ms)] (Default: touchscreen)
      press (Default: trackball)
      roll <dx> <dy> (Default: trackball)

比如使用 adb shell input keyevent <keycode> 命令炫七,不同的 keycode 能實(shí)現(xiàn)不同的功能,完整的 keycode 列表詳見 KeyEvent钾唬,摘引部分我覺得有意思的如下:

keycode 含義
3 HOME 鍵
4 返回鍵
5 打開撥號應(yīng)用
6 掛斷電話
24 增加音量
25 降低音量
26 電源鍵
27 拍照(需要在相機(jī)應(yīng)用里)
64 打開瀏覽器
82 菜單鍵
85 播放/暫停
86 停止播放
87 播放下一首
88 播放上一首
122 移動光標(biāo)到行首或列表頂部
123 移動光標(biāo)到行末或列表底部
126 恢復(fù)播放
127 暫停播放
164 靜音
176 打開系統(tǒng)設(shè)置
187 切換應(yīng)用
207 打開聯(lián)系人
208 打開日歷
209 打開音樂
210 打開計(jì)算器
220 降低屏幕亮度
221 提高屏幕亮度
223 系統(tǒng)休眠
224 點(diǎn)亮屏幕
231 打開語音助手
276 如果沒有 wakelock 則讓系統(tǒng)休眠

下面是 input 命令的一些用法舉例万哪。

電源鍵

adb shell input keyevent 26

菜單鍵

adb shell input keyevent 82

HOME 鍵

adb shell input keyevent 3

返回鍵

adb shell input keyevent 4

音量控制

增加音量:
adb shell input keyevent 24
降低音量:
adb shell input keyevent 25
靜音:
adb shell input keyevent 164

媒體控制

播放/暫停:
adb shell input keyevent 85
停止播放:
adb shell input keyevent 86
播放下一首:
adb shell input keyevent 87
播放上一首:
adb shell input keyevent 88
恢復(fù)播放:
adb shell input keyevent 126
暫停播放:
adb shell input keyevent 127

點(diǎn)亮/熄滅屏幕

可以通過上文講述過的模擬電源鍵來切換點(diǎn)亮和熄滅屏幕,但如果明確地想要點(diǎn)亮或者熄滅屏幕抡秆,那可以使用如下方法奕巍。

點(diǎn)亮屏幕:
adb shell input keyevent 224
熄滅屏幕:
adb shell input keyevent 223

發(fā)送文本內(nèi)容,但是改命令無法發(fā)送中文

adb shell input text [文本內(nèi)容(英文)]

image.png

input tap :點(diǎn)擊屏幕

點(diǎn)擊屏幕上坐標(biāo)為 (200 200 )的位置
adb shell input tap 200 200

input swipe :滑動屏幕

從(520 300)滑到( 520 1000)
adb shell input swipe 520 300 520 1000

input keyevent 點(diǎn)擊按鍵

adb shell input keyevent

截屏:adb shell screencap /sdcard/a.png
錄制屏幕

adb shell screenrecord /sdcard/filename.mp4
需要導(dǎo)出到電腦:
adb pull /sdcard/filename.mp4
--size WIDTHxHEIGHT 視頻的尺寸儒士,比如 1280x720的止,默認(rèn)是屏幕分辨率。
--bit-rate RATE 視頻的比特率乍桂,默認(rèn)是 4Mbps冲杀。
--time-limit TIME 錄制時(shí)長效床,單位秒睹酌。
--verbose 輸出更多信息。

打印 Android 的系統(tǒng)日志: adb logcat

可以通過重定向來將日志保存到指定的文件中 比如將其保存到G盤的一個(gè)文件adb logcat > G:\log\logcat.txt

顯示屏參數(shù)

adb shell dumpsys window displays

型號

adb shell getprop ro.product.model

電池狀況

adb shell dumpsys battery

adbd cannot run as root in production builds問題

驗(yàn)證你的手機(jī)是否已經(jīng)root了

adb shell
su
行命令后剩檀,$ 變?yōu)?# 即 表示root 成功

安裝adbd-insecure.apk

adb install adbd-insecure.apk

設(shè)置

打開應(yīng)用將Enable insecure adbd 和 enable at boot 勾選上憋沿,設(shè)置好之后重進(jìn)鍵入:adb root即可
下載地址:adbd-insecure.apk

查看當(dāng)前分區(qū)掛載情況。

mount

找到其中我們關(guān)注的帶 /system 的那一行:

/dev/block/platform/msm_sdcc.1/by-name/system /system ext4 ro,seclabel,relatime,data=ordered 0 0
重新掛載沪猴。
mount -o remount,rw -t yaffs2 /dev/block/platform/msm_sdcc.1/by-name/system /system

這里的 /dev/block/platform/msm_sdcc.1/by-name/system 就是我們從上一步的輸出里得到的文件路徑辐啄。如果輸出沒有錯(cuò)誤的話,可以對 /system 下的文件操作了

設(shè)置系統(tǒng)日期和時(shí)間

注:需要 root 權(quán)限运嗜。
adb shell date -s 20160823.131500
表示將系統(tǒng)日期和時(shí)間更改為 2016 年 08 月 23 日 13 點(diǎn) 15 分 00 秒壶辜。

重啟手機(jī)

adb reboot

使用 Monkey 進(jìn)行壓力測試

Monkey 可以生成偽隨機(jī)用戶事件來模擬單擊、觸摸担租、手勢等操作砸民,可以對正在開發(fā)中的程序進(jìn)行隨機(jī)壓力測試。
adb shell monkey -p <packagename> -v 500
表示向 <packagename> 指定的應(yīng)用程序發(fā)送 500 個(gè)偽隨機(jī)事件奋救。

刷機(jī)相關(guān)命令

重啟到 Recovery 模式
adb reboot recovery

從 Recovery 重啟到 Android
adb reboot

重啟到 Fastboot 模式
adb reboot bootloader

通過 sideload 更新系統(tǒng)
如果我們下載了 Android 設(shè)備對應(yīng)的系統(tǒng)更新包到電腦上岭参,那么也可以通過 adb 來完成更新。
以 Recovery 模式下更新為例:重啟到 Recovery 模式尝艘。
adb reboot recovery
在設(shè)備的 Recovery 界面上操作進(jìn)入 Apply update-Apply from ADB演侯。
注:不同的 Recovery 菜單可能與此有差異,有的是一級菜單就有 Apply update from ADB背亥。

通過 adb 上傳和更新系統(tǒng)秒际。
adb sideload <path-to-update.zip>

查看實(shí)時(shí)資源占用情況

adb shell top

" daemon not running. starting it now on port 5037 ADB server didn't ACK

一般出現(xiàn)這種情況都是因?yàn)槠渌渌绦蛘加昧?037端口(比如豌豆莢悬赏,刷機(jī)精靈等),
通過以下命令可以找出哪個(gè)進(jìn)程占用了5037端口
netstat -ano | findstr "5037"

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末娄徊,一起剝皮案震驚了整個(gè)濱河市舷嗡,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌嵌莉,老刑警劉巖进萄,帶你破解...
    沈念sama閱讀 207,113評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異锐峭,居然都是意外死亡中鼠,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,644評論 2 381
  • 文/潘曉璐 我一進(jìn)店門沿癞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來援雇,“玉大人,你說我怎么就攤上這事椎扬”共” “怎么了?”我有些...
    開封第一講書人閱讀 153,340評論 0 344
  • 文/不壞的土叔 我叫張陵蚕涤,是天一觀的道長筐赔。 經(jīng)常有香客問我,道長揖铜,這世上最難降的妖魔是什么茴丰? 我笑而不...
    開封第一講書人閱讀 55,449評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮天吓,結(jié)果婚禮上贿肩,老公的妹妹穿的比我還像新娘。我一直安慰自己龄寞,他們只是感情好汰规,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,445評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著物邑,像睡著了一般溜哮。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上拂封,一...
    開封第一講書人閱讀 49,166評論 1 284
  • 那天茬射,我揣著相機(jī)與錄音,去河邊找鬼冒签。 笑死在抛,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的萧恕。 我是一名探鬼主播刚梭,決...
    沈念sama閱讀 38,442評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼肠阱,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了朴读?” 一聲冷哼從身側(cè)響起屹徘,我...
    開封第一講書人閱讀 37,105評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎衅金,沒想到半個(gè)月后噪伊,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,601評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡氮唯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,066評論 2 325
  • 正文 我和宋清朗相戀三年鉴吹,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片惩琉。...
    茶點(diǎn)故事閱讀 38,161評論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡豆励,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出瞒渠,到底是詐尸還是另有隱情良蒸,我是刑警寧澤,帶...
    沈念sama閱讀 33,792評論 4 323
  • 正文 年R本政府宣布伍玖,位于F島的核電站嫩痰,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏私沮。R本人自食惡果不足惜始赎,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,351評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望仔燕。 院中可真熱鬧,春花似錦魔招、人聲如沸晰搀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,352評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽外恕。三九已至,卻和暖如春乡翅,著一層夾襖步出監(jiān)牢的瞬間鳞疲,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,584評論 1 261
  • 我被黑心中介騙來泰國打工蠕蚜, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留尚洽,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,618評論 2 355
  • 正文 我出身青樓靶累,卻偏偏與公主長得像腺毫,于是被迫代替她去往敵國和親癣疟。 傳聞我的和親對象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,916評論 2 344