首页 > 代码库 > 利用Genymotion + vs + VisualGDB + ndk 进行源码调试(效率堪比真实调试)
利用Genymotion + vs + VisualGDB + ndk 进行源码调试(效率堪比真实调试)
由于之前装过 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
注意:如果要使用此插件,您的系统必须已经安装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,群共享自行下载,群共享文件名:eclipse vs 联调ndk,文件里面详细介绍了如何安装配置,这里就不详细描述了
在调试过程中注意一个问题,so必须编译成x86的架构,如何编译x86架构的 so?
很简单 在jni目录里面创建一个Application.mk 然后写入下面代码:APP_ABI := armeabi armeabi-v7a x86
简单吧,这样子ndk-build命令在编译的时候 就会自动编译 上面三个构架的so文件,这样子我们就可以任意框架里面调试了
4、接下来我们看几个截图吧,调试过程的截图
附加界面
apk 还没有加载so vs里面的断点处于 空白断点状态
悬浮窗口出来,so已经成功加载,看我们的vs断点里,已经可以正常使用了,并成功进入断点。
在这里我们调试成功了,大家是不是觉得很激动,如果觉得激动,就点个赞吧,哈哈,赶紧去测试吧,心动不如行动.
来自为知笔记(Wiz)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。