最新AS中如何使用NDK?

来源:互联网 发布:php异步请求$.post 编辑:程序博客网 时间:2024/06/17 06:40

在AS更新到1.3之后移除了NDK的编译配置,所以当我们在更新到2.2之后时,如何配置呢?其实,在AS中一切都是那么的简单,接下来我用截图一步步给大家介绍:
1.下载NDK插件:
这里写图片描述
或者:
这里写图片描述

2.当下载完成后倒入:
这里写图片描述

3.创建最新集成ndk的项目:
这里写图片描述

创建完成后,项目中会自动生成cpp源文件、CMakeLists.txt和app/budile.gradle中的配置:
这里写图片描述

这里的native-lib.cpp就是C/C++可扩展的源文件,而CMakeLists.txt则就是构建脚本,CMake 会根据构建脚本的指令去编译一个 C++ 源文件,也就是 native-lib.cpp,并将编译后的产物扔进共享对象库中,并将其命名为 libnative-lib.so,然后 Gradle 将其打包到 APK 中。
4.查看native-lib.cpp和MainActivity中对即将生成的so的引用方法:

这里写图片描述

此文件的内容就是c++语言,定义了一个返回字符串数据的方法。如下activity中引用:
这里写图片描述

这里我们很直接的就能看到用”native”声明的方法stringFromJNI(),此方法就是so中读取数据的方法。static{}的声明不用对说表示的一进入此类就将so资源库加载并初始化。
OK,到这里基本完成了所有的基础配置操作,最后我们就直接运行项目即可。运行完成后,我们在app/build/intermediates/cmake/debug/obj下看到各个兼容包的so库:
这里写图片描述

然后我们双击生成的apk看看里面是否引用了so包:

这里写图片描述

很显然已经自动编译进apk中了!

运行效果如下:
这里写图片描述

0 0
原创粉丝点击