android ndk 调试




百度经验:jingyan.baidu.com

    android ndk的调试,目前主要有三种方式:

    ① 在 eclipse 上直接进行调试;

    ② 通过 VisualGBD+Visual Studio 进行调试;

    ③ 通过 Visual Studio 2015 进行调试(注:改方法目前支持纯C开发的调试)

    百度云链接:http://pan.baidu.com/s/1dDtjbVz 密码:102n

    方便他人亦是方便自己,如果觉得还行就点下右边投票吧,这样可以帮助其他人更快的找到解决问题的方法;有疑问的也可留言哦, 谢谢!

百度经验:jingyan.baidu.com

工具/原料

  • Windows 8.1 x64
  • jdk1.8.0_20
  • adt-bundle-windows-x86_64-20140702
  • android-ndk-r10c
  • Visual Studio 2013
  • VisualGDB-4.2r4
  • Visual Studio 2015 Preview
百度经验:jingyan.baidu.com

前期准备

  1. 1

    如果是真机开发的话,需要以下步奏(模拟器不需要):

    ① 安装手机驱动程序,(建议下载一个91助手安装);

    ② 开启 设定->开发者选项;

    ② 选中 设定->开发者选项->USB调试 ;

    ③ 为了防止手机调试的过程中锁屏,建议同时选中:

     设定->开发者选项->保持唤醒

    具体的如下图所示:

  2. 2

    查询手机ABI类型:

    通过运行android ndk自带的例子程序,来获取当前手机abi型号;

    效果如下图所示:

    为了方便大家使用,特将 HelleJni.apk 包上传百度云中

    END
百度经验:jingyan.baidu.com

通过eclipse进行调试

  1. 1

    ① 导入android ndk自带的例子程序 NativeActivity

    ② 修改 AndroidManifest.xml 中的 Debuggable 为 true

    ③ 如果出现了“Avoid hardcoding the debug mode; leaving it out allows debug and release builds to automatically assign one”错误,可以进行如下图所示的修复操作

  2. 2

    ① 启动模拟器

    ② 右键工程 NativeActivity->android tools->Add Native Support

    ③ 编译(Ctrl + B)

    ② 右键工程 NativeActivity ->Debug As->Android Native Application

  3. 3

    注:由于android ndk在eclipse上调试还不支持在初始化函数,所以我在触屏事件engine_handle_input中增加了断点;

    ① 使用快捷键 Ctrl+Shitf+B在 170行增加一个断点;

    ② 点击一下模拟器的屏幕;

    ③ 当断点运行到的时候的效果如下图所示:

    END
百度经验:jingyan.baidu.com

通过VisualGDB进行调试

  1. 1

    菜单->File->New->Project...->VisualGDB->Android Project Wizard->OK

    注:路径中不要包含空格

    其他的几个界面点击next和finish就可以了

    具体的效果如下图所示:

  2. 2

    ① 启动模拟器;

    ② 使用快捷键F9在第33行增加一个断点;

    ③ 使用快捷键F5开始调试;

    ④ 程序启动后点击一下模拟器屏幕;

    ⑤ 运行到断点时的效果如下图所示;

    END
百度经验:jingyan.baidu.com

通过Visual Studio 2015进行调试

  1. 1

    菜单->File->New->Project...->Cross Platform->Native-Activity Application (android)->OK

    如下图所示:

  2. 2

    ① 启动模拟器;

    ② 使用快捷键F9在第229行增加一个断点;

    ③ 将处理器从ARM调整为x86(我当前的模拟器是x86模式);

    ④ 使用快捷键F5开始调试;

    ⑤ 运行到断点时的效果如下图所示;

    END
百度经验:jingyan.baidu.com

总结

  1. 通过上面的三种方法可以看出各自的差异:

    ① eclipse进行调试体验度最差,鼠标停留查看变量值,内存查看变量体验不好,但是才java和c混合编程的情况下的java开发很方便;

    ② VisualGDB 进行调试的体验其次,主要是内存查看目前不给力,支持java和c混合编程,但是java编程不方便;

    ③ Viusal Studio 2015体验度最好,但是只支持纯C开发,还不支持java和c混合编程情况下的调试;

  2.        方便他人亦是方便自己,如果觉得还行就点下下边投票吧,这样可以帮助其他人更快的找到解决问题的方法;有疑问的也可留言哦, 谢谢!

    END
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值