我在博客上发表一些我的NDK学习心得,希望对大家能有帮助。
这一篇我们讲述NDK配置和简单使用
1、介绍
先下载相应ndk版本
下载连接(需要翻墙):https://developer.android.com/ndk/downloads/index.html
解压之后目录如下:
其中ndk-build是我们用来编译c或者c++的。
当然,也需要把该目录加入到环境变量中。
2、配置
在Eclipse中设置NDK目录
3、运行
刚开始学习NDK,我们从NDK给的例子入手
在NDK安装目录下,有samples目录,其中有很多NDK例子
我们先从最简单的显示一个字符串入手:hello-jni项目
将这个项目导入到Eclipse中
首先来看看导入的项目
其中jni目录中就是编写native方法。
其中有Android.mk文件,这个是在编译的时候需要的。
hello-jni.c文件则是native方法的实现
再来看看HelloJni.java
在onCreate方法中调用stringFromJNI()获取一个字符串,并且使用TextView显示
其中声明了两个native方法,这个native方法具体实现写在hello-jni.c中
当然编译会生成libhello-jni.so,我们使用的前需要将其加载进来。
下面我们来看看stringFromJNI()这个Native方法做了什么
jstring Java_com_example_hellojni_HelloJni_stringFromJNI( JNIEnv* env, jobject thiz )
{
return (*env)->NewStringUTF(env, "Hello from JNI ! Compiled with ABI " ABI ".");
}
通过使用NewStringUTF()来创建一个字符串 “Hello from JNI ! Compiled with ABI”,并返回
运行这个例子:
首先我们需要到项目目录中使用ndk-build命令
会发现编译出很多版本的so,我们刷新项目。
生成了一个obj文件夹,其中生成了很多版本的libhello-jni.so
然后再运行程序,显示运行成功