android studio NDK开发环境搭建实践

android studio现在已经很好的支持了NDK开发,使用android studio进行NDK的开发变得很方便。本文讲的NDK开发时基于CMake编译的NDK开发,有关ndk-build编译的方法,我找时间会整理出来,因为我另一个项目就是用的ndk-build…..

在启动NDK开发时,通常是这样两种情况:一、全新的android项目,需要支持NDK功能开发;已有的项目新增NDK功能开发。

一、
第一种情况,其实比较简单。android studio在创建新项目时,直接选择support c++就可以了,android studio会自动做好NDK开发环境的配置。
这里写图片描述

这里写图片描述

android studio 配置好了CMake文件,gradle配置信息等。这样直接在对应的cpp文件中进行jni代码开发就可以了。

主要记录一下第二种情况。多数情况下,我们会遇到在已有的项目中增加NDK功能,即编写jni代码,这个时候我们就需要在已有的项目中,增加NDK的编译环境。主要步骤如下:
1. 编写相应的类以及native方法:

public class RKECG {
    static {
        System.loadLibrary("rkecg");
    }

    public static native int getHR(short[] data);
}

2 . 使用Terminal,cd到java目录,执行javah 包名.类名命令,生成对应的.h头文件:

这里写图片描述

这里写图片描述

注:生成的.h文件在java根目录中。
3 . 在main目录下,新建cpp目录,并新建一个*.cpp(文件名任意)文件,把第2步生成的.h文件中的内容复制到该cpp文件中(之前的.h文件就可以删除了)

这里写图片描述

4 . 在app目录下添加并编写CMakeLists.txt文件,也可以直接从其他C++ support的android项目中复制个CMakeLists.txt文件(我就是这么干的..-_-!),修改里边的内容就可以了:

这里写图片描述

更多关于CMake文件的参数说明,请各位看官自定度娘吧,很多这样的资源。

5 . 配置app的build.gradle文件

这里写图片描述

6 . 最后,配置gradle.properties文件:文件中增加这样一行代码(其实是注释掉的,去掉#注释就可以了)

org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

sync一下就可以了~.

这样就配置完成了。~ _ ~

等等等~~! 并不能运行,报错了!

cannot resolve corresponding jni function

之前新增的native方法那里报了上面这个错误! 其实这是android studio没有更新对NDK的支持导致的。按照如下的方法解决:

1 . 打开settings/plugins,搜索ndk,取消ndk支持,然后重启android studio

这里写图片描述

2 . 重启之后,就发现上面那个错误没有了。但是我们是需要支持NDK的,怎么能把这个取消呢,所以我们再重新把这个ndk支持勾打上,再重启一下android studio。 此时,上面那个错误就完美的木有了~~

然后我们就可以美丽的编写jni代码了,还有代码提示有木有!~

这里写图片描述

最后运行一下我们的app,测试一下jni代码是不是便宜成功了:

这里写图片描述

结果出来了,有木有!

最后如果你想看下你的.so文件有没有被打包到app中,可以打包app,查看apk中的lib目录看.so文件:

这里写图片描述

有了,完美!~

开始愉快的编写jni代码吧~~

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值