Mac使用adb调试安卓手机

0x00 背景

最近windows电脑休息,用mac办公比较多,手机用时间长了,不太灵光,准备修理一番。于是要用mac调试下android手机。配置略显麻烦,网上的步骤多参差不齐。估计是入门步骤,大佬们也懒得写的太细。于是这里记录下。

0x01 准备环境

  1. mac一台;
  2. mac上安装好Android Studio和手机对应的sdk;

0x02 步骤

1. 设置adb环境变量

这里因为Android Studio自带adb,所以安装步骤省略,这里只需要设置adb路径到默认环境,让shell能找到adb。
LZ用的oh-my-zsh,打开对应的配置文件~/.zshrc,在该文件中可以添加与Android开发相关的环境变量配置,具体配置如下:

export ANDROID_HOME=/Users/【用户名】/Library/Android/sdk
export PATH=${PATH}:${ANDROID_HOME}/emulator
export PATH=${PATH}:${ANDROID_HOME}/tools
export PATH=${PATH}:${ANDROID_HOME}/platform-tools
export PATH=${PATH}:${ANDROID_HOME}/build-tools

如下图:
在这里插入图片描述
执行命令source ~/.zshrc,是zshrc生效。

2. 设置手机VID

这一步骤是让adb在检查devices时,能顺利找到手机设备。

  1. 将android手机通过USB数据线连接Mac,打开终端输入:system_profiler SPUSBDataType;
  2. 找到对应设备的Vendor ID;
  3. Vendor ID的值写入~/.android/adb_usb.ini文件中,该文件可能需要新建。

这里借用一下其他师傅的图。
在这里插入图片描述
修改~/.android/adb_usb.ini
在这里插入图片描述

3. 重启adb服务

只需要执行以下两个命令即可:

adb kill-server
adb start-server

4. 查看手机连接状态

adb devices

需要说明的是LZ连了多台设备,要指定进入某台设备后台可以通过adb -s cmd向设备发送adb命令。

比如:运行命令shell。

adb -s SH0A6PL00243 shell
#

比如down一个应用的数据库到本地/tmp目录下面。

adb -s SH0A6PL00243 pull data/data/com.android.tencent/databases/AgendaDetails.db /tmp
555 KB/s (5120 bytes in 0.009s)C:\Users\Administrator>

0x03 adb常用命令

查看ADB版本:adb version
查看手机设备:adb devices
查看设备型号:adb shell getprop ro.product.model
查看电池信息:adb shell dumpsys battery
查看设备ID:adb shell settings get secure android_id
查看设备IMEI:adb shell dumpsys iphonesubinfo
查看Android版本:adb shell getprop ro.build.version.release
查看手机网络信息:adb shell ifconfig
查看设备日志:adb logcat
重启手机设备:adb reboot
安装一个apk:adb install /path/demo.apk
卸载一个apk:adb uninstall <package>
查看系统运行进程:adb shell ps
查看系统磁盘情况:adb shell ls /path/
手机设备截屏:adb shell screencap -p /sdcard/aa.png
手机文件下载到电脑:adb pull /sdcard/aa.png ./
电脑文件上传到手机:adb push aa.png /data/local/
手机设备录像:adb shell screenrecord /sdcard/ab.mp4
手机屏幕分辨率:adb shell wm size
手机屏幕密度:adb shell wm density
手机屏幕点击:adb shell input tap xvalue yvalue
手机屏幕滑动:adb shell input swipe 1000 1500 200 200
手机屏幕带时间滑动:adb shell input swipe 1000 1500 0 0 1000
手机文本输入:adb shell input text xxxxx
手机键盘事件:adb shell input keyevent xx
连接多个手机设备时,指定手机设备:adb -s serialNumber <command>

0x04 参考文献

https://juejin.cn/post/7245169313241415736
https://www.cnblogs.com/developer-qin/p/14734752.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/422854.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【GitHub项目推荐--多种语言的样式和语法检查器】【转载】

LanguageTool 是一款开源校对软件&#xff0c;适用于英语、法语、德语、波兰语、俄语和其他 20 多种语言。它发现了许多简单的拼写检查器无法检测到的错误。 开源地址&#xff1a;https://github.com/languagetool-org/languagetool 官方网站&#xff1a;https://languagetool…

配置DNS主从服务器,实现真反向解析

主服务器 [rootbogon ~]# systemctl stop firewalld.service #关闭防火墙 [rootbogon ~]# setenforce 0 #关闭selinux [rootbogon ~]# systemctl restart named #启动dns服务 [rootbogon ~]# vim /etc/named.conf #进入dns配置文件 options {#监听…

k8s集群加入一个master2--kubeadm方式

已经有一个集群&#xff1a; 192.168.206.138 master 192.168.206.136 k8s-node1 192.168.206.137 k8s-node2 kubectl get nodes -o wide 新加入一个master2节点 192.168.206.139 master2 一、初始化系统参数 139 master2 上 #在136、137、138上添加hosts“” echo "…

实时渲染 -- 光栅化(Rasterization)

图元&#xff08;Primitive&#xff09; 在进行渲染之前&#xff0c;我们需要输入装配图元数据&#xff0c;因此需要先定义图元结构&#xff0c;一般有&#xff1a;三角形、四边形、多边形、线段、点 最常用的图元就是三角形了&#xff0c;选择它的理由有很多&#xff1a; 三角…

安装向量数据库milvus可视化工具attu

使用docker安装的命令和简单就一个命令&#xff1a; docker run -p 8000:3000 -e MILVUS_URL{milvus server IP}:19530 zilliz/attu:v2.3.5sunyuhuasunyuhua-HKF-WXX:~/dockercom/milvus$ docker run -p 8000:3000 -e MILVUS_URL127.0.0.1:19530 zilliz/attu:latest yarn run…

k8s使用ingress实现应用的灰度发布升级

v1是1.14.0版本nginx ,实操时候升级到v2是1.20.0版本nginx&#xff0c;来测试灰度发布实现过程 一、方案&#xff1a;使用ingress实现应用的灰度发布 1、服务端&#xff1a;正常版本v1&#xff0c;灰度升级版本v2 2、客户端&#xff1a;带有请求头versionv2标识的请求访问版…

STP生成树

0x00 前言 关于STP生成树的一些问题和笔记 0x01 正文 二层环路带来的问题有&#xff1f; 广播风暴MAC地址漂移 什么是广播风暴&#xff1f; 相当于在环形中&#xff0c;大家不停的反复进行泛洪广播&#xff0c;从而导致出现广播风暴耗尽所有资源的情况。 什么是MAC地址漂…

《WebKit 技术内幕》学习之八(3):硬件加速机制

3 其他硬件加速模块 3.1 2D图形的硬件加速机制 其实网页中有很多绘图操作是针对2D图形的&#xff0c;这些操作包括通常的网页绘制&#xff0c;例如绘制边框、文字、图片、填充等&#xff0c;它们都是典型的2D绘图操作。在HTML5中&#xff0c;规范又引入了2D绘图的画布功能&a…

html 3D 倒计时爆炸特效

下面是代码&#xff1a; <!DOCTYPE html> <html><head><meta charset"UTF-8"><title>HTML5 Canvas 3D 倒计时爆炸特效DEMO演示</title><link rel"stylesheet" href"css/style.css" media"screen&q…

旅游项目day08

1. 旅游日记&#xff08;游记&#xff09; 后端&#xff1a;实体类&#xff0c;列表&#xff0c;查看&#xff0c;审核 前端&#xff1a;目的地明细中-游记->带范围条件查询&#xff0c;游记首页&#xff0c;【扩展】游记添加/编辑&#xff0c;【扩展】添加游记时间没登录时…

第十二站(20天):C++泛型编程

模板 C提供了模板(template)编程的概念。所谓模板&#xff0c;实际上是建立一个通用函数或类&#xff0c; 其 类内部的类型和函数的形参类型不具体指定 &#xff0c;用一个虚拟的类型来代表。这种通用的方式称 为模板。 模板是泛型编程的基础, 泛型编程即以一种独立于任何特定…

代码随想录刷题题Day40

刷题的第四十天&#xff0c;希望自己能够不断坚持下去&#xff0c;迎来蜕变。&#x1f600;&#x1f600;&#x1f600; 刷题语言&#xff1a;C Day40 任务 ● 392.判断子序列 ● 115.不同的子序列 1 判断子序列 392.判断子序列 思路&#xff1a; 动态规划 &#xff08;1&am…