您的位置:首页 > 移动开发 > Android开发

AndroidStudio2.2之NDK开发

2017-03-01 09:55 323 查看
现在用AndroidStudio2.2进行NDK开发更加的丝滑,过程如下:

1、环境配置:

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



创建项目有可能会报NDK找不到之类的错误,右击项目 ->Open Module Setting->SDK Location 查看AndroidNDK
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++代码里
b1a0
面有一个extern "C"这句话了吗,这个是CMake的东西,把这句话放到最上面,然后加个大括号,把所有Java需要调用的方法都放里面,调整后的C++代码如下:



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

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

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

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

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: