AndroidStudio2.2开发NDK的正确姿势

之前写过两篇eclipse下开发NDK的姿势,

NDK开发(1)——从无到有

NDK开发(2)——从繁到简


现在用AndroidStudio2.2进行NDK开发更加的丝滑,过程如下:

1、环境配置:

新建项目,选中:Include C++ Support,AndroidStudio会为我们创建cpp文件夹、CMake文件、模块的Gradle也会做些相应的配置。



创建项目有可能会报NDK找不到之类的错误,右击项目 ->Open Module Setting->SDK Location 查看Android NDK location是否有配置起来,没有,就下载NDK,


或者直接去AndroidStudio Settings中配置,Appearance&Behavior->System Setings->Android SDK,选中SDK Tools标签页,选择CMake,LLDB,NDK进行安装如下图


CMake是AndroidStudio2.2提供的构建C项目的工具,LLDB是用来调试C代码的。

上面需要的东西都配置好后,新建的项目就会多出cpp文件夹,模块Gradle也多了些配置,如下图



并且AndroidStudio已经帮我们创建了一个调用C的例子,直接运行项目,Activiity里的就可以成功调用到C的方法。

我们在Activity里创建一个native方法,直接报红,然后Alt+Enter,选第一个


接下来神奇的地方出现了,native-lib.cpp里自动帮我们添加了新的方法:


给该方法一个正确的返回值,然后在Activity中调用native方法。呵呵崩掉了!


项目可以通过编译,但是找不到C++里面的方法,这是因为CMake在编译C++代码的时候把刚才新建的C++函数漏掉了,怎么把他加上呢,注意到C++代码里面有一个extern "C"这句话了吗,这个是CMake的东西,把这句话放到最上面,然后加个大括号,把所有java需要调用的方法都放里面,调整后的C++代码如下:


确保所有Java需要调用的C方法都放在extern "C"中,这样CMake才会帮我们正确编译。

然后运行项目,成功返回"Hello from C++ Too"。

切换到Project目录结构,app->.externalNativeBuild->release->obj->AndroidStudio为我们生成的so文件都在这里啦!!!!!

忘了说了,现在C++可以智能提示啦,好爽滑。


评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值