赞
踩
[TOC]
卸载内置手机软件
显示所有应用 adb shell pm list packages
adb shell pm uninstall --user 0 com.miui.fm
先安装adb
2.在变量里找到PATH,添加你的adb.exe的路径
手机连接adb
查看已连接的设备:adb devices
会显示serial number 和 device
有线:
手机打开开发者调试,打开cmd窗口,输入adb version 即可看到你的adb版本
无线:
手机先有线连接
确定手机和电脑端的wifi通讯端口:adb tcpip 5555
查看手机ip:adb shell netcfg
拔掉usb线,再adb connect 192.168.0.117
adb常用命令
adb 命令如下:
adb [-d|-e|-s ]
如果只有一个设备直接使用 adb
多个设备-s 指定相应 serialNumber 号的设备/模拟器为命令目标
文件
操作文件和文件夹有时会出现权限不够,Read-only file system。就需要adb remount 操作,获得权限。
创建xxx的文件夹
mkdir xxx
删除名字为xxx的文件夹及其里面的所有文件
rm -r xxx
删除文件xxx
rm xxx
删除xxx的文件夹
rmdir xxx
推送文件到设备:adb push C:\Users\csi\Videos\a.png /sdcard/Download/browser
本机路径容易获取,但是手机路径如何获取呢?可以使用adb shell然后利用ls列出文件,最后要退出adb shell
因为adb shell不能执行adb phsh/pull命令
拉取文件到电脑:adb pull /sdcard/Download/browser/UNv1.0.en-zh.tar.gz.00 C:\Users\csi\Videos
应用
查看已安装应用
adb shell pm list package
列出第三方应用
adb shell pm list package -3
-s:列出系统应用
-f:列出应用包名及对应的apk名及存放位置
-i:列出应用包名及其安装来源:
参数组合使用,例如查找第三方应用tencent的包名、存放位置及安装来源:
adb shell pm list package -f -3 -i tencent
image.png
列出对应包名的 .apk 位置
adb shell pm path com.tencent.mm
image.png
安装应用 :adb install [-r] xxx.apk
-r 允许覆盖安装。
-s 将应用安装到 sdcard。
-d 允许降级覆盖安装。
apk路径则可以直接将apk文件拖进cmd窗口,记得加空格。
pm install , 安装应用
目标 apk 若是存放在 PC 端,用 adb install 安装
目标 apk 若是存放于 Android 设备上,用 pm install 安装
如:
pm uninstall, 卸载应用,同 adb uninstall , 后面跟的参数都是应用的包名
清除应用数据与缓存
adb shell pm clear (apk包名)
image.png
设置应用安装位置
pm set-install-location
获取应用安装位置
pm get-install-location
卸载应用 adb uninstall (应用的包名)
-k 卸载应用但保留数据和缓冲
image.png
删除系统应用:
adb remount(重新挂载系统分区,使系统分区重新可写)。
有些设备并不能直接adb remount,必须要先以root身份进入,先执行adb root,在执行adb remount
adb shell
cd system/app/
ls
rm ??.apk
adb 命令是 adb 这个程序自带的一些命令,而 adb shell 则是调用的 Android 系统中的命令,这些 Android 特有的命令都放在了 Android 设备的 system/bin 目录下。
查看wifi密码:
adb shell cat /data/misc/wifi/*.conf
am start :启动一个应用,这里以启动我们设备的“设置”应用为例
adb shell am start -n com.android.settings/.Settings
若不清楚“设置”的包名,可以通过命令,先找出当前开启的设备,然后复制路径即可
adb shell dumpsys activity | find “mFocusedActivity”
image.png
1.先打开app界面
查看当前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
杀死某个进程:(三个步骤)
adb shell
ps查看进程命令
kill pid
强制停止应用:
adb shell am force-stop com.eg.android.AlipayGphone
交互
input命令
完整 help 信息如下:
Usage: input [] [...]
The sources are:
mouse
keyboard
joystick
touchnavigation
touchpad
trackball
stylus
dpad
gesture
touchscreen
gamepad
The commands and default sources are:
text (Default: touchscreen)
keyevent [--longpress] ... (Default: keyboard)
tap (Default: touchscreen)
swipe [duration(ms)] (Default: touchscreen)
press (Default: trackball)
roll (Default: trackball)
比如使用 adb shell input keyevent 命令,不同的 keycode 能实现不同的功能,完整的 keycode 列表详见 KeyEvent,摘引部分我觉得有意思的如下:
keycode
含义
3
HOME 键
4
返回键
5
打开拨号应用
6
挂断电话
24
增加音量
25
降低音量
26
电源键
27
拍照(需要在相机应用里)
64
打开浏览器
82
菜单键
85
播放/暂停
86
停止播放
87
播放下一首
88
播放上一首
122
移动光标到行首或列表顶部
123
移动光标到行末或列表底部
126
恢复播放
127
暂停播放
164
静音
176
打开系统设置
187
切换应用
207
打开联系人
208
打开日历
209
打开音乐
210
打开计算器
220
降低屏幕亮度
221
提高屏幕亮度
223
系统休眠
224
点亮屏幕
231
打开语音助手
276
如果没有 wakelock 则让系统休眠
下面是 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
恢复播放:
adb shell input keyevent 126
暂停播放:
adb shell input keyevent 127
点亮/熄灭屏幕
可以通过上文讲述过的模拟电源键来切换点亮和熄灭屏幕,但如果明确地想要点亮或者熄灭屏幕,那可以使用如下方法。
点亮屏幕:
adb shell input keyevent 224
熄灭屏幕:
adb shell input keyevent 223
发送文本内容,但是改命令无法发送中文
adb shell input text [文本内容(英文)]
image.png
input tap :点击屏幕
点击屏幕上坐标为 (200 200 )的位置
adb shell input tap 200 200
input swipe :滑动屏幕
从(520 300)滑到( 520 1000)
adb shell input swipe 520 300 520 1000
input keyevent 点击按键
adb shell input keyevent
截屏:adb shell screencap /sdcard/a.png
录制屏幕
adb shell screenrecord /sdcard/filename.mp4
需要导出到电脑:
adb pull /sdcard/filename.mp4
--size WIDTHxHEIGHT 视频的尺寸,比如 1280x720,默认是屏幕分辨率。
--bit-rate RATE 视频的比特率,默认是 4Mbps。
--time-limit TIME 录制时长,单位秒。
--verbose 输出更多信息。
打印 Android 的系统日志: adb logcat
可以通过重定向来将日志保存到指定的文件中 比如将其保存到G盘的一个文件adb logcat > G:\log\logcat.txt
显示屏参数
adb shell dumpsys window displays
型号
adb shell getprop ro.product.model
电池状况
adb shell dumpsys battery
adbd cannot run as root in production builds问题
验证你的手机是否已经root了
adb shell
su
行命令后,$ 变为 # 即 表示root 成功
安装adbd-insecure.apk
adb install adbd-insecure.apk
设置
打开应用将Enable insecure adbd 和 enable at boot 勾选上,设置好之后重进键入:adb root即可
下载地址:adbd-insecure.apk
查看当前分区挂载情况。
mount
找到其中我们关注的带 /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 就是我们从上一步的输出里得到的文件路径。如果输出没有错误的话,可以对 /system 下的文件操作了
设置系统日期和时间
注:需要 root 权限。
adb shell date -s 20160823.131500
表示将系统日期和时间更改为 2016 年 08 月 23 日 13 点 15 分 00 秒。
重启手机
adb reboot
使用 Monkey 进行压力测试
Monkey 可以生成伪随机用户事件来模拟单击、触摸、手势等操作,可以对正在开发中的程序进行随机压力测试。
adb shell monkey -p -v 500
表示向 指定的应用程序发送 500 个伪随机事件。
刷机相关命令
重启到 Recovery 模式
adb reboot recovery
从 Recovery 重启到 Android
adb reboot
重启到 Fastboot 模式
adb reboot bootloader
通过 sideload 更新系统
如果我们下载了 Android 设备对应的系统更新包到电脑上,那么也可以通过 adb 来完成更新。
以 Recovery 模式下更新为例:重启到 Recovery 模式。
adb reboot recovery
在设备的 Recovery 界面上操作进入 Apply update-Apply from ADB。
注:不同的 Recovery 菜单可能与此有差异,有的是一级菜单就有 Apply update from ADB。
通过 adb 上传和更新系统。
adb sideload
查看实时资源占用情况
adb shell top
" daemon not running. starting it now on port 5037 ADB server didn't ACK
一般出现这种情况都是因为其他其他程序占用了5037端口(比如豌豆荚,刷机精灵等),
通过以下命令可以找出哪个进程占用了5037端口
netstat -ano | findstr "5037"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。