在虚拟机中调试android 手机的方法
由于Google的源码是在ubuntu下编译的,Google官方提供了较为详细的编译说明,所以使用 了ubuntu 14.04 进行编译,编译完成后有一个问题,如何进行源码调试。(源代码在虚拟机中)
使用 virutalbox Extension Pack
首先的想法是直接使用中virutalBox 的USB 把手机给连到guest,折腾了一下比较麻烦, 首先需要安装virutalbox 的 Extension Pack,下载地址
管理->全局设定->扩展,选择下载的扩展包,安装。接下来这步很关键,上次就是这里没有搞定。
1 |
|
执行命令后需要注销,重新登录。
VirtualBox 虚拟机设置 -> usb 添加需要接入 guest 的 usb 设备。
1 |
|
使用端口映射
后面想到adb 其实是通过tcp 和Android设备通讯, 所以只要做端口映射打个通道,就可以解决在virutalBox的虚拟机里调试手机的问题。
1 |
|
在guest里执行下面两条命令
1 |
|
其中 10.0.2.2 是host的ip,5037 是adb 默认监听的端口,1234 是gdbserver 监听的端 口,利用ssh在host和guest 打个通道。
在host执行adb forward 命令
1 |
|
这条命令在host和手机上建立了一条通道。
这样就搞定了adb的连接问题。执行这三行命令后在ubuntu下, adb devices 可以看到下面的输出, 问题得到解决。
1 |
|
输出正常,可以开始调试了。
在虚拟机中调试android 手机的方法
https://usmacd.com/cn/android_emulator_debug/