ADB : Android Debug Bridge
mac 配置 adb
首先:打开终端
输入:sudo vim ~/.bash_profile
输入:电脑密码
编辑状态:复制粘贴如下
export ANDROID_HOME=/Users/userName/Library/Android/sdk
export PATH=${PATH}:${ANDROID_HOME}/platform-tools
export PATH=${PATH}:{ANDROID_HOME}/tools
将ANDROID_HOME修改为自己安装sdk的目录。
执行source .bash_profile
退出:ESC -> :wq
输入:adb version 查看是否配置成功。
ADB
- adb WIFI
远程连接机器进行安装apk:详细过程 - adb tcpip 5555 (打开端口号)
进行远程连接的第一步。 - adb connect ip(要连接的虚拟机的ip)
远程连接的第二步
两步即可完成wifi adb ,便可脱离数据线进行调试,缺点就是安装apk会比较慢。 - adb install -r 应用程序.apk
- eg: adb insall -r F:\Test.apk
重新覆盖安装指定目录下的apk 程序会 安装在data/data的目录下 - adb push < local>< remote>
eg:adb push D:\Test.apk/system/app
安装指定目录下的apk 在权限允许下应用程序可以安装到系统目录下,例如指定的system/app目录下 - adb -s 指定设备 操作
连接多台设备时,进行adb命令时需要指定设备进行操作 - adb logcat -c > 指定log文件夹
记录日志前进行清除日志 - adb logcat > 指定log文件夹
- eg: adb logcat > D:\log.log
打印log到指定的文件夹,ctrl + c 停止log打印 - adb pull /data/anr/traces.txt
查看因为ANR崩溃的日志 - adb list targets
显示系统中全部Android平台 - adb install com.xxx.apk 安装应用
- adb install -r com.xxx.apk 覆盖安装应用
- adb uninstall com.xxx.apk 卸载
- adb uninstall -k com.xxx.apk 卸载但保留数据和缓存目录
- adb pull 将 Android 设备上的文件或文件夹复制到本地
eg:adb pull sdcard/pull.txt d:
也可以 pull 到制定文件下 d:\rename.txt - adb push 推送本地文件至 Android 设备
eg: adb push D:\log.txt sdcard/ - adb reboot 重启 Android 设备
adb shell
pm:Package Manager
am:Activity Manager
首先,可以adb shell 进入 shell 环境下 ,以下操作可以省略 adb shell
-
adb shell pm clear com.xxx.xxx 清除指定包下面的缓存
-
adb shell pm monitor 检测 carsh 与 ANR
-
adb shell pm list package 查看所有应用的包名
-
adb shell pm list package -s 列出系统级应用
-
adb shell pm list package -3 列出第三方应用
-
adb shell pm list package -f 列出应用包名以及对应的apk名存放位置
-
adb shell pm list package -i 列出应用包名及安装来源
-
adb shell pm list package -3 -i -f qqmusic 可以将以上进行组合使用
-
adb shell pm path com.tencent.mm 列出apk的位置
-
adb shell pm dump com.xxx.xxx 列出指定应用的 dump 信息
-
adb shell pm clear com.xxx.xxx 清除应用缓存
-
adb shell pm set-install-location, adb shell get-install-location 设置安装位置/获取应用安装位置
-
adb shell pm monitor 监听指定包名应用 (但好像不好用了)
am:Activity Manager
- adb shell am start xxxActivity 启动一个Activity
eg: > adb shell am start -a android.action.intent.VIEW -d http://baidu.com 打开百度网页
eg: >adb shell am start -a android.intent.action.CALL -d tel:10086
eg: >adb shell am start com.xxx.client.debug/com.xxx.app.SplashActivity 启动应用
拨打电话
- adb shell am force-stop com.xxx.xxx 结束应用
eg: >adb shell am force-stop tv.danmaku.bili - adb shell am startservice 启动一个服务
- adb shell am broadcast 发送一个广播
input 向 Android 设备发送事件
- input keyevent KEYCODE_HOME 发送键盘事件
//或者输入 input keyevent 3 因为 public static final int KEYCODE_HOME = 3 - input tap 200 200 发送屏幕点击事件 x y
- input swipe 900 500 100 500 发送滑动事件 左右或者上下滑动
- adb shell screencap -p /sdcard/screen.png 截屏 保存值 sdcard
退出 shell 命令,然后使用 adb pull 可以将图片从手机中拷贝下来 - adb pull sdcard/screen.png d:/screen.png 可以将手机的截屏拷贝下来
拷贝下以后,如果需要删除手机中的内容,可以使用 - adb shell rm file 删除文件 或者 adb shell rm -r dir 删除目录
在电脑端查看文件时,如果也想删除文件,则也可以直接使用 rm 进行删除即可 - adb shell wm size 查看设备分辨率
eg: > adb shell wm size > 1600x2560 - adb shell ime list -s 查看输入发
输出:>com.baidu.input_huawei/.ImeService - adb shell screenrecord /sdcard/demo.mp4
录制手机屏幕,存放到手机的sd卡中,默认3分钟,ctrl+c结束 - adb pull /sdcard/demo.mp4
导出视频到当前目录 - adb shell dumpsys package com.xxx.xxx | findstr versionName
eg:adb shell dumpsys package com.tencent.mm | findstr versionName
查看xxx包下的apk 的版本信息
monkey
settings
dumpsys
- adb shell dumpsys activity | findstr “Run” 查看手机当前前台运行应用的Activity