android studio下c开发环境搭建,手把手教你搭建Android Studio的NDK开发环境

首先,在 Project Structure 中配置好 SDK、JDK、NDK 路径

值得注意的是,NDK 版本应用 r10d 及以上版本,笔者测试过使用 r9d 版本,出现了众多的 bug 及相关问题如 jni 头文件找不到(这是由于编译的版本是5.0及以上而 NDK 版本过低造成的),所以建议使用新版

544c58b260c7

Paste_Image.png

假设我在包 www.exchange.com.mylibrary 下建立了一个类 NdkString ,并写了一个本地方法,如图所示:

544c58b260c7

打开cmd,输入以下命令生成.h头文件

【1】进入目录:cd C:\Users\ASUS\AndroidStudioProjects\TestSkill\mylibrary

【2】为 NdtString 类生成 jni 目录及.h文件:javah -d jni -classpath ..\..\build\intermediates\classes\debug www.exchange.com.library.NdkString

544c58b260c7

Paste_Image.png

如上图,没有任何报错,即生成.h头文件成功,可在IDE中找到如下文件

如果此处报错找不到类,优先检查有没有输错路径,如没错,则rebuild 下 project,关闭 cmd,再重新执行命令即可

544c58b260c7

Paste_Image.png

可见文件中申明了 getFromC 方法

下面新建一个 Hello.c 文件,导入头文件,并实现 getFromC 方法

544c58b260c7

Paste_Image.png

右键项目,点击 Make Module 'mylibrary' 编译项目

544c58b260c7

Paste_Image.png

会得到如下编译错误

544c58b260c7

Paste_Image.png

产生错误的原因,是** Android Stuido 不允许 NDK 开发中只存在单独一个 .c文件**,所以解决方法是生成一个空的 Hello1.c 文件,再次编译即可

544c58b260c7

Paste_Image.png

可在路径 \mylibrary\build\intermediates\ndk\debug\lib 中查看.so文件

544c58b260c7

Paste_Image.png

接下来,我们在任意一个 module 中,添加 mylibrary 依赖进行测试

笔者这里选用 app module,添加 Module dependency

544c58b260c7

Paste_Image.png

在 NdkString 类中,加载 .so文件

544c58b260c7

Paste_Image.png

最后编写测试类即可,此处笔者就不粘贴效果图了

544c58b260c7

Paste_Image.png

最后,笔者在百度云中,给出 AndroidNDKR10D 的下载链接,有需要的读者自行下载。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值