安装配置skd
修改安卓模拟器nox_adb.exe文件
ADB命令
基本命令
查看帮助
adb help
查看版本
adb version
查看adb的连接设备:
adb devices
参数 显示列表
无 所有应用
-f 显示应用关联的 apk 文件
-d 只显示 disabled 的应用
-e 只显示 enabled 的应用
-s 只显示系统应用
-3 只显示第三方应用
-i 显示应用的 installer
-u 包含已卸载应用
包名包含 字符串
该命令经常出现以下问题:
- offline —— 表示设备未连接成功或无响应;
- device —— 设备已连接;
- no device —— 没有设备/模拟器连接;
- List of devices attached 设备/模拟器未连接到 adb 或无响应
链接到夜神模拟器
adb connect 127.0.0.1:62001
# 如果连接不到的时候:先找到端口号
adb nodaemon server
# 在根据 端口号 找到进程的PID
netstat -ano | findstr "5037"
# 在进行清除此PID
taskkill /pid 22712 -f
# 然后调用 重启 或者手动重新联机即可
adb start-server
# 或者
adb connect 127.0.0.1:62001
杀进程
adb kill-server
adb start-server
查看当前的包名类名
adb shell dumpsys activity | find "mFocusedActivity"
打印日志
adb logcat
指定某个应用的日志
adb shell pm list packages tenc //模糊查询带有tenc字符的应用程序
//使用find或者grep来筛选应用日志,这里我拿微信来测试打印日志
adb logcat | grep com.tencent.mm
adb logcat | find "com.tencent.mm" //find后面需要加上“”引号
日志重定向
adb logcat > 你的文件路径.txt文件
adb logcat > D:\log\032801.txt
从手机拉取信息到本地电脑
adb pull <手机路径> <本地路径>
# 例如
adb pull /storage/emulated/0/Android/data/com.vphone.launcher/files/download D:\AndroidSdk
从本地拉取到手机中
adb pull <本地路径> <手机路径>
登录设备shell 模式
adb shell
解析apk安装包
D:\AndroidSdk\android-sdk-windows\tools 启动cmd并执行下列命令
aapt dump badging D:\AppTest\weixin.apk
# 并且查找 package 包名
aapt dump badging C:\Users\askbd\Downloads\jiakaobaodian.apk | findstr package
# 查找对应的包名
aapt dump badging C:\Users\askbd\Downloads\jiakaobaodian.apk | findstr launchable-activity
查看所有应用
adb shell pm list packages
???
adb nodaemon server
参数 含义
-l 将应用安装到保护目录 /mnt/asec
-r 允许覆盖安装
-t 允许安装 AndroidManifest.xml 里 application 指定 android:testOnly=“true” 的应用
-s 将应用安装到 sdcard
-d 允许降级覆盖安装
-g 授予所有运行时权限
安装app
adb install <安装包路径>
例如:
adb install C:\Users\askbd\Downloads\weixin.apk
查询当前运行app包名
adb shell dumpsys activity | find "mFocusedActivity"
# 检测包的信息
adb shell dumpsys package io.appium.settings
列出所有的包名
adb shell pm list packages
-s列出系统apk路径以及包名
-3列出用户apl路径以及包名
卸载app
adb uninstall <包名>
例如:
adb uninstall com.tencent.mm
启动App
adb shell am start -n 包名/入口
例如:
adb shell am start -n com.tencent.mm/com.tencent.mm.ui.LauncherUI
清除应用的数据和缓存
adb shell pm clear 包名
adb shell pm clear com.tencent.mm
坐标点击
adb shell input tap x轴坐标 y轴坐标
adb shell input tap 600 900
使用 Monkey 进行压力测试
monkey是android自带系统自带的程序,可以生成伪随机用户事件来模拟单击、触摸、手势等操作,可以对正在开发中的程序进行随机压力测试。
简单用法
// 命令,表示向 com.tencent.mm 程序发送 500 个伪随机事件,并且将日志指定位置保存
adb shell monkey -p com.tencent.mm -v 500 > 日志路径.txt
-v 是提升日志级别,最高可加三个-v
//示例输出
bash arg: -p
bash arg: com.tencent.mm
bash arg: -v
bash arg: 500
args: [-p, com.tencent.mm, -v, 500]
arg: "-p"
arg: "com.tencent.mm"
arg: "-v"
arg: "500"
data="com.tencent.mm"
Appium原理介绍
{
"deviceName":