您的位置:首页 > 其它

利用Genymotion + vs + VisualGDB + ndk 进行源码调试(效率堪比真实调试)

2014-06-25 14:16 585 查看
由于之前装过 Genymotion 模拟器,昨天做了一次更新, 尼玛结果出问题了 不停的报 play.exe停止工作,网上的各种方式折腾了几个小时无效,最后把

Oracle VM VirtualBox

Genymotion
用360软件管理彻底卸载了,接着重启,

然后重新下载了一个 VirtualBox + Genymotion 的综合安装包,不负所望,在机器重启后终于可以正常进入模拟器了

下载地址:http://files2.genymotion.com/genymotion/genymotion-2.2.0/genymotion-2.2.0-vbox.exe

看下 效果还不错 ,模拟器的过程我就不详细说了 大家自行摸索一下,网上教程挺多的



下面准备开始我们的调试过程
1、我们下载一个插件

下载Eclipse插件

Genymotion plugin for Eclipse

Mandatory dependency for Eclipse pluginv1.0.3

此插件也可以通过Eclipse直接安装:Help->Install New Software,然后添加下面的地址:http://plugins.genymotion.com/eclipse
注意:如果要使用此插件,您的系统必须已经安装Genymotion

来源: <http://www.genymotion.cn/#theme=download_list>

插件过程就不详细说了 官网复制下来的有写

2、 错误信息: INSTALL_FAILED_CPU_ABI_INCOMPATIBLE
在我们第一次调试的时候肯定会出现一个这样的错误 INSTALL_FAILED_CPU_ABI_INCOMPATIBLE
原因是因为我们的模拟器是x86架构的处理器,但是eclipse编译出来的apk 只能在arm的架构上运行,所以就会提示这个错误
不过没关系 广大网友的力量是无尽的,我们只要下载一个补丁,安装上就可以正常运行apk了(补丁出自于那里就无从考究了,反正能用就好)

下面的补丁地址:http://pan.baidu.com/s/1h7yPD

补丁安装很简单,把下载好的文件 直接拖进模拟器,会弹出一系列的提示,全部点yes,提示框完了以后就直接重启模拟器,
再次启动模拟器的时候,可能会报错,但是没关系,我们不管它,重新继续重启,一直到正常为止

3、好了,接下来就可以开始我们的调试大业了,因为我们讲的是vs调试ndk, 这里我们需要使用到一个神器VisualGDB,大家可以在网上自动搜索,
也可以在QQ群:25093009,群共享自行下载,群共享文件名:[b]eclipse vs 联调ndk,[/b]文件里面详细介绍了如何安装配置,这里就不详细描述了
也可以此地址下载:http://download.csdn.net/detail/qiongxp/6990251

在调试过程中注意一个问题,so必须编译成x86的架构,如何编译x86架构的 so?
很简单 在jni目录里面创建一个Application.mk 然后写入下面代码:APP_ABI := armeabi armeabi-v7a x86
简单吧,这样子ndk-build命令在编译的时候 就会自动编译 上面三个构架的so文件,这样子我们就可以任意框架里面调试了

4、接下来我们看几个截图吧,调试过程的截图
附加界面





apk 还没有加载so vs里面的断点处于 空白断点状态




悬浮窗口出来,so已经成功加载,看我们的vs断点里,已经可以正常使用了,并成功进入断点。




在这里我们调试成功了,大家是不是觉得很激动,如果觉得激动,就点个赞吧,哈哈,赶紧去测试吧,心动不如行动.

来自为知笔记(Wiz)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: