• 首页
  • mac
  • mac os开发android应用通过usb真机调试

mac os开发android应用通过usb真机调试

当前开发用的ari,sublime + webstrom 开发node.js还比较流畅,还没有出现被堵被坑的局面.

尝试开发android应用时,各种坑,其中一个比较深的坑就是今天要和大家分享的.


mac OS如何真机调试android应用.

但凡接触过android开发的,都对他的模拟器有挥之不去的阴影,不明真相的童鞋可以玩一把模拟器,包你爽!


我在上上一篇博文关于node.js生成android和ios应用里用xcode编译然后模拟器截图,结尾还写到,安卓模拟器的截图以后奉上.


因为android的环境,依赖等一切问题已经影响到了我的食欲,直到今天终于调试成功一把,可惜是在真机,android模拟器调试也许会出现在梦里,所以那篇博文提到的以后,也就没有以后了!


但是真机调试也不是非常顺利,就以我自己用的MX3为例,和大家分享下:


首先android 真机调试需要 ADB 支持.


什么是ADB?

客户端和服务器端交互的一个程序,你操作的电脑就是客户端,而android设备就是服务器端.

所以你的第一步需要在你的电脑安装 adb 客户端,这个客户端在sdk里包含了.因为我下的是 android strdio 里面自带sdk,当然也包括 adb 客户端 (没有sdk的先下载)


下一步,需要设置 adb 系统环境变量

Mac三种设置环境变量的方法见另一篇帖子(点击查看) 


我是在 .bash_profile 文件中设置.

我的sdk目录在 /Users/zhangzhi/Library/Android/sdk/

adb 客户端就包含在此目录下的 platform-tools 文件夹下,

所以设置环境变量如下:

$ nano .bash_profile

文件下面新加一行,如下:

export PATH=$PATH:/Users/zhangzhi/Library/Android/sdk/platform-tools


保存,退出,为了让变量及时生效,执行下面命令

$ source .bash_profile

检查是否生效,可以看下 adb 当前版本

$ adb -version

看到这个信息说明是adb 环境变量没有问题的.


下一步,adb 服务器端

上面我们说了,adb 的服务器端就是 android 设备,这里就是我的 MX3手机,服务器端不需要在手机上安装,默认就有,但是需要你打开 usb调试.


下一步,找一个连接电脑好手机的数据线

注意,这不是随随便便的线,比如我一开始用的移动电源的线就不行.

如何证明你找的线,行! 使用mac下一款软件 androidfiletransfer 这是mac os系统和安卓设备传输文件的软件,(没有安装的自己google )

打开这个软件,如果能识别你当前的安卓设备,说明你的线行!,识别不了请换其他数据线!


下一步,找到你android设备的 Vendor ID

这个id 就是 adb 设别设备的重要信息

如何查找此ID:

首先数据线连接电脑和手机,终端命令行运行指令 system_profiler SPUSBDataType 

$ system_profiler SPUSBDataType

我只是截取了一部分,显示出了当前连接电脑的usb设备信息,看到是手机标识 M353 ,注意刚才说到的 Vendor ID ,找到并记录下来

MX3 对应的是 0x18d1


下一步,修改 adb 配置文件 adb_usb.ini

配置文件所在路径 ~/.android/adb_usb.ini 

$ nano ~/.android/adb_usb.ini

打开后,直接在文件最后一行把 0x18d1 粘贴进去,保存,退出即可.


下一步,你需要重新启动 adb 服务.

$ adb kill-server
$ adb start-server

然后查看 adb 是否识别出了 MX3 手机,运行命令

zhangzhi@moke:~/code$ adb devices
List of devices attached
353BCHJEJYCW	device

最后一行显示已经识别出来 MX3 

如果到这一步不能识别的,可以尝试重新强制重启 Finder , adb 服务重启,甚至关闭 IDE 重新打开,或者把掉usb 线重现连接一次.

回到顶部