androidstudio studio的NDK

版权声明:本文为博主原创文章未经博主允许不得转载。网易内推职位: /asmcvc/article/details/

默认的工程属性不用配置debugger默认为auto会自动适配,直接在cpp里下断点调试方式运行App,会自动断下变量数值均能在调试状态下看到。

试用了下androidstudioStudio对NDK的调试支持的还不错于是打算把过去的项目也支持起来,方法请看下节

由于之前一直沒有使用过androidstudioStudio调试过native的代码,网上了解到androidstudioStudio调试NDK是需要一个LLDB的插件默认是没有的,所以先手动安装一下

这里有个另类的方法:“Edit Configurations”打开程序配置,在debugger里选择Native(默认为auto)然后运行App,因为工程之前一直是只有Java代码的所以这里选择了Native,androidstudioStudio会提示并没有安装C++的调试器根据提示安装即鈳。

可以看出安装的调试器是LLDB。

然后是指定CMakeLists.txt文件的路径这里可以复制新建项目的CMakeLists.txt文件到现有项目的app目录下,把它放到和proguard-rules.pro相同的文件夹丅即可然后把这个CMakeLists.txt文件的全路径输入进去,点OK

这个时候会发现gradle文件自动添加了:

但是并未指定C++的版本,可以参考新建项目的内容手动添加:

3、整理C++源码的文件组织形式

新建一个cpp目录:src\main\cpp与src\main\java同级,把C++源码文件移动至此目录下并有序组织好。

由于是复制的demo工程的CMakeLists.txt文件比較简单,不能够满足现有工程需要修改一下。这里说一下常用的几个功能:

  • 设置其他后缀文件(例如.S汇编文件)为可编译源文件:
  • 设置哆个不定数量的源文件(也即使用*星号通配符的方式):
  • 链接三方SO库文件(例如我需要使用三方的libsubstrate.so库做测试):

这个需要持续学习了毕竟新接触的,有一些参考文件:

    • 能支持对C++代码的动态调试无疑是非常强大的功能,关键现在androidstudioStudio对C++代码在编辑器也支持的很好所以总体是建议迁移过来的。

    • 不足就是编译速度太慢了VisualStudio编译下来秒间就能完成了,androidstudioStudio下要十几秒甚至更长在调试的时候启动LLDB也很慢,有时一直卡在Starting LLDB server

    • 建议VS和本方法结合使用需要调试的时候就用androidstudioStudio调试,如果仅仅是编译C++代码则可以使用VSVS的方法参见:

    我要回帖

    更多关于 androidstudio 的文章

     

    随机推荐