您的位置:首页 > 编程语言 > Java开发

Android开发中使用NDK在Eclipse中实现JNI技术

2014-11-10 16:07 651 查看
注:

1、环境配置请参考http://blog.csdn.net/zhanglongit/article/details/8489538/ 这里不再累赘;

2、NDK版本为android-ndk-r7-windows,此版本已经集成cygwin功能,所以不必再另外安装cygwin;

3、CDT版本为cdt-master-8.1.2。

第一步:新建项目

进入Eclipse,新建一个Android Project,取名TestJni。后面新建项目的步骤不再累赘。

第二步:定义接口

目前整个项目只有一个类MainActivity,在MainActivity里面定义JNI接口,添加如下代码:

public native String stringFromJNI();
public native String unimplementedStringFromJNI();

static {
System.loadLibrary("test-jni");
}


第三步:实现方法

在项目中添加文件夹jni,并添加两个文件:

文件一:Android.mk 其中代码如下:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := test-jni
LOCAL_SRC_FILES := test-jni.c

include $(BUILD_SHARED_LIBRARY)


文件二:test-jni.c 其中代码如下:

#include <string.h>
#include <jni.h>

jstring Java_com_example_testjni_MainActivity_stringFromJNI( JNIEnv* env,
jobject thiz )
{
return (*env)->NewStringUTF(env, "Hello from JNI !");
}


第四步,配置项目编译器

通过配置,使用dnk-build.cmd来编译C文件,生成so文件。配置步骤如下:

1、 右键点击工程目录依次Properties->Builders->New 选中Program 并确定;

2、Name自己指定,Location通过Browse File System 指定,Working Directory通过Browse Workspace指定;(Location选到dnk-build.cmd,Working Directory选当前的项目)



3、Refresh项若不是针对整个工作空间选择第三个即可;



4、Build Options 项所选如图;



5、Specify Resources选中jni文件夹即可;

6、依次Finish->OK->OK。

第五步:运行项目

在MainActivity类中直接使用stringFromJNI()函数则可调用C中实现的方法。

最后运行项目则可。

参考:
http://blog.csdn.net/zhanglongit/article/details/8489538
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  jni ndk android eclipse c
相关文章推荐