Android开发中使用NDK在Eclipse中实现JNI技术
来源:互联网 发布:示剑网络怎么样 编辑:程序博客网 时间:2024/06/07 02:35
注:
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-jniLOCAL_SRC_FILES := test-jni.cinclude $(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
0 0
- Android开发中使用NDK在Eclipse中实现JNI技术
- NDK-Jni的开发 在Eclipse中实现
- android ndk 开发之 在 应用程序中使用 jni
- [Android NDK]Android JNI开发例子 ---3 在JNI中实现openGL功能
- 怎样实现在Eclipse中开发NDK?
- Android Jni开发之eclipse中NDK部署教程
- Android Jni开发之eclipse中自动化编译ndk-build
- eclipse中安装ndk开发JNI
- eclipse中安装ndk开发JNI
- 【基于Windows系统】教你如何在Android中使用JNI以及NDK开发环境搭建
- Android NDK开发之旅(1): Eclipse中NDK环境搭建与JNI开发流程
- Android中使用NDK环境开发JNI程序例子
- NDK 开发之 Android Studio 中使用 JNI
- 关于Android开发中JNI/NDK使用的一点总结
- android(NDK+JNI)---在Eclipse中编译NDK的so文件
- 在 Eclipse 中使用 NDK
- Android Studio中JNI NDK开发(一)
- Android Studio中JNI NDK开发(二)
- 【LeetCode】Min Stack 解题报告
- SVN命令经验总结
- django配置
- git 学习二之版本回退
- 第十一周项目2--两个数的最大公约数
- Android开发中使用NDK在Eclipse中实现JNI技术
- IT忍者神龟之Hibernate QBC语言
- 第10周项目2.2 再加密
- PDA开发数据由本地上传至DB
- django 1.7tutorial 简单应用3
- 消元法解n元一次方程组 c++实现
- 《python核心编程》第20章关于网页爬虫的代码
- Nginx的平滑重启和平滑升级
- JPA2.0 缓存