adb安装及使用mac版

一、什么是adb

adb(Android Debug Bridge) 意为android调试桥,作用:远程访问Android设备(连接PC和Android)

ADB是一个C/S架构的应用程序,由三部分组成:

adb client, 运行在PC上(为DDMS,即IDE工作)

adb daemon(守护进程), 运行于Emulator(为与Emulator中的VM交互工作);

adb server(服务进程), 运行在PC(任务管理器上有),管理着adb client和adb daemon的通信。

adb连接逻辑:

二、安装及使用

Android platform-tools下载(参考):http://tools.android-studio.org/index.php/sdk;

配置环境变量:

打开终端Terminal,进入根目录(cd ~/);

在终端中输入vim ~/.bash_profile ,打开 .bash_profile文件。按 i 进入输入模式,在文件内容的末尾加入以下内容:

export PATH=${PATH}:/Users/xxx/Library/Android/sdk/platform-tools

export PATH=${PATH}:/Users/xxx/Library/Android/sdk/tools

这里面的xxx根据自己实际的用户名称进行修改

点击 esc ,输入 :wq  回车(保存并退出文本);

添加完成后输入:source ~/.bash_profile 更新配置的环境变量;

验证:输入adb version ,输出Android Debug Bridge version,配置成功;

三、adb常用命令

1、包安装:adb install 

adb install .apk路径 / adb -r install .apk路径 / adb uninstall 包名

2、文件传输:adb pull/push

   拉:adb pull <设备里的文件路径> [电脑上的目录]

   推:adb push 电脑上文件 /sdcard

3、WiFi连接:adb connect/disconnect

   adb tcpip 5555

   adb connect xx.xx.xx.xx:5555

   adb disconnect xx.xx.xx.xx:5555

4、日志打印:adb logcat

   抓崩溃:adb logcat | grep AndroidRuntime   

5、activity管理:adb shell am (activity manager)

    启动APP:adb shell am start -W -n 包名/启动Activity

    关闭APP:adb shell am force-stop 包名

6、包管理:adb shell pm(package manager)

    清理环境:adb shell pm clear 包名

    三方包名:adb shell pm list packages -3 

7、截图录屏:adb shell screencap /  adb shell screenrecord

   截图:adb shell screencap -p /sdcard/test.png 

   录屏:adb shell screenrecord /sdcard/test.mp4

8、系统信息:adb shell dumpsys

   1)活动:adb shell dumpsys activity

   查看页面活动:adb shell dumpsys activity activities | grep mResumedActivity

   2)电池:adb shell dumpsys battery

   模拟低电量:adb shell dumpsys battery set level 1

         复位:adb shell dumpsys battery reset

   3)内存:adb shell dumpsys meminfo

   查看app内存使用:adb shell dumpsys meminfo 包名  

   4)CPU: adb shell dumpsys cpuinfo 

   查看appCPU使用:adb shell dumpsys cpuinfo 包名  

   5) FPS:adb shell dumpsys gfxinfo

   查看app流畅度:adb shell dumpsys gfxinfo 包名

9、adb shell wm

   1)分辨率:adb shell wm size

    模拟分辨率:adb shell wm size 480x1024

           复位:adb shell wm size reset

   2)密度:adb shell wm density

    模拟密度:adb shell wm density 800

           复位:adb shell wm size reset

 10、adb shell input 

   1)adb shell input keyevent

    按home键:adb shell input keyevent 3 

   2)adb shell input text

    输入12345文本:adb shell input text 12345

   3)adb shell input tap 

    点击位置(20,1000):adb shell input tap 20 1000

   4)adb shell input swipe

    从(10,20)滑动到(100,200):adb shell input swipe 10 20 100 200

others:

查看设备:adb devices 查看所有连接到电脑上的Android设备

安装软件:adb install app包名  (adb install -r app包名    |   -r:覆盖安装)

查看包信息:adb shell dumpsys package XXX      查看某个包的具体信息(前提是需要知道包名是什么)     

查看当前正在运行的Activity:adb logcat | grep ActivityManager       adb logcat | grep Displayed                   

查看包名的方式:

adb shell pm list packages -3 -- 只输出第三方的包 

adb shell pm list packages -e "daliketang"  --  设置过滤条件,只输出启用的包

卸载软件:adb uninstall app包名(在安装软件的时候,可能会出现安装失败的情况,如果在之前没有删除干净,或安装的时候会提示与安装签名不同等失败提示,此时使用uninstall命令可以完全清除之前没有卸载干净的app)

将电脑本地文件上传到android手机(adb push

adb push /Users/bytedance/Downloads/qingbei_xiaomi_v1.6.2_d59019f.apk /sdcard

将手机上文件上传电脑(adb pull

adb pull /sdcard/qingbei_xiaomi_v1.6.2_d59019f.apk ~/Downloads

查看日志:adb logcat > ~/Downloads/20200324.log (“>”是重定向的意思,将查到的日志进行输出;“>”后面的为输出的绝对路径)log日志 

抓日志的前提条件:发现了一个crash/anr

日志级别:

i:infor信息

d:debug调试信息

w:waring警告信息

e:error报错信息

抓取日志的关注点:

crash:崩溃(日志中搜索crash或exception)

anr:application not response:应用无响(日志中搜索anr)

adb logcat *:e> ~/Downloads/2020.log (*:e:抓取e级别以上的所有信息)

小技巧:测试之前可以提前将手机开发者选项打开,找到“日志记录器缓冲区大小”,每个日志缓冲区选择“16M”;(其目的是在测试的过程中,如果出现了不可复现的crash,可以通过抓取日志的方式,获取到app之前记录的缓存日志)

monkey测试:也叫稳定性测试(稳定性测试、压力测试、随机测试三种不同的叫法)

monkey:像猴子一样乱点

目的:测试软件的稳定性,健壮性,压力

monkey命令:adb shell monkey -p com.edu.android.daliketang -v -v -v -s 16 200000 > ~/Downloads/monkeytest.log

-v:显示运行时候的日志信息级别(-v -v -v显示全部日志信息)

-s:种子数,随机事件数(两次命令的执行轨迹一样)

查看日志中是否存在异常情况,如搜索crash、anr等关键字  (正常结束的Monkey测试,日志的末尾处有finished关键字)

停止monkey的方式:

adb shell(登录设备)

top|grep "monkey" (实时查询monkey的进程号)

kill -9 11673(-9:强制杀死进程;11673为查询出来的进程号)

查看内存使用状况:adb shell dumpsys meminfo com.edu.android.daliketang

adb kill-server:关闭adb

adb start-server:打开adb

四、adb使用过程中常遇问题

mac下无法识别安卓设备:list of devices attached

出现原因:

开发者选项中没有开启usb调试;

可能是Mac没有将厂商的设备id识别,需手工输入;

解决方法:

打开终端,输入system_profiler SPUSBDataType命令,查询连接usb设备信息;

找到设备供应商id,Vendor ID,并记录下来;

终端输入:vim ~/.android/adb_usb.ini,把ID写入后,保存退出;

重启adb服务,adb kill-server;

打开adb,adb start-server;

终端输入adb devices,可以看到你的设备了;

当我们按照日志级别去查询日志时,会出现zsh:no matches found:*:E

出现原因:

zsh不兼容问题导致;

解决方法:

在终端输入:vim ~/.zshrc;

在~/.zshrc中加入:setopt no_nomatch,保存并退出;

在终端输入:source .zshrc命令,更新配置文件;

参考文档:

https://www.jianshu.com/p/5697889bd08b

https://www.cnblogs.com/bamanzi/p/zsh-simple-guide.html

https://www.jianshu.com/p/4d3d23856991

https://www.jianshu.com/p/d85e95f28338

https://www.jianshu.com/p/6769bfc3e2da

https://www.jianshu.com/writer#/notebooks/41473905/notes/57949214

你可能感兴趣的:(adb安装及使用mac版)