最新AS中如何使用NDK?

随着Android Studio更新到2.2版本,NDK的配置方式有所改变。本文通过图文步骤指导如何在新版本中进行NDK集成:下载插件、导入、创建项目并配置CMakeLists.txt,展示如何在C++源文件中定义方法并与Java交互,最后验证编译后的SO库成功打包进APK。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在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中了!

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值