android studio NDK开发环境搭建实践
来源:互联网 发布:计算机程序员证书 编辑:程序博客网 时间:2024/04/28 14:59
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代码吧~~
- android studio NDK开发环境搭建实践
- Android Studio NDK 开发环境搭建
- Android Studio 2.0 NDK开发环境搭建
- Android Studio 2.2 NDK开发环境搭建
- NDK开发 Android Studio环境搭建
- Android Studio 2.2 NDK开发环境搭建
- 搭建Android Studio NDK 开发环境
- Android Studio的NDK开发环境搭建
- Android Studio 的NDK开发环境搭建
- Android studio NDK开发环境搭建
- android studio ndk环境搭建 和开发
- Android Studio NDK环境搭建
- Android studio ndk 环境搭建
- Android Studio Ndk环境搭建
- android studio ndk 环境搭建
- android studio NDk环境搭建
- Android Studio NDK环境搭建
- Android Studio 1.5 RC1搭建NDK开发环境
- 概念模型让产品更简单
- 感悟
- 创业?你还差一位合格的产品经理
- 第七周实践项目6 停车场模拟(栈和队列综合)
- 产品经理在工作中如何进行沟通
- android studio NDK开发环境搭建实践
- BZOJ2154 Crash的数字表格
- 说说成为顶级运营人员的一个先决条件:做事的霸气!
- 12.13第十六周Java作业
- 欢迎使用CSDN-markdown编辑器
- 【最新完整50G】史上最全传智播客JavaEE视频资料
- GVE与数字币交易所达成深度战略合作,强强联手推动区块链发展
- 关于MyBatis中String和varchar进行大小比较(均保存的数字)
- AngualrJS的学习记录(三)一一AngularJS指令小结