由于之前装过 Genymotion 模拟器,昨天做了一次更新, 尼玛结果出问题了 不停的报 play.exe停止工作,网上的各种方式折腾了几个小时无效,最后把
Oracle VM VirtualBox
Genymotion
用360软件管理彻底卸载了,接着重启,
然后重新下载了一个 VirtualBox + Genymotion 的综合安装包,不负所望,在机器重启后终于可以正常进入模拟器了
看下 效果还不错 ,模拟器的过程我就不详细说了 大家自行摸索一下,网上教程挺多的
下面准备开始我们的调试过程
1、我们下载一个插件
下载Eclipse插件
此插件也可以通过Eclipse直接安装:Help->Install New Software,然后添加下面的地址:http://plugins.genymotion.com/eclipse
注意:如果要使用此插件,您的系统必须已经安装Genymotion
插件过程就不详细说了 官网复制下来的有写
2、 错误信息: INSTALL_FAILED_CPU_ABI_INCOMPATIBLE
在我们第一次调试的时候肯定会出现一个这样的错误 INSTALL_FAILED_CPU_ABI_INCOMPATIBLE
原因是因为我们的模拟器是x86架构的处理器,但是eclipse编译出来的apk 只能在arm的架构上运行,所以就会提示这个错误
不过没关系 广大网友的力量是无尽的,我们只要下载一个补丁,安装上就可以正常运行apk了(补丁出自于那里就无从考究了,反正能用就好)
补丁安装很简单,把下载好的文件 直接拖进模拟器,会弹出一系列的提示,全部点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断点里,已经可以正常使用了,并成功进入断点。
在这里我们调试成功了,大家是不是觉得很激动,如果觉得激动,就点个赞吧,哈哈,赶紧去测试吧,心动不如行动.
利用Genymotion + vs + VisualGDB + ndk 进行源码调试(效率堪比真实调试),布布扣,bubuko.com
利用Genymotion + vs + VisualGDB + ndk 进行源码调试(效率堪比真实调试)
原文:http://www.cnblogs.com/qinsuixin/p/6e36975b4b68c5df2bb56032cebb852f.html