设为首页 加入收藏

TOP

基于Android NDK开发实践案例解析
2014-11-24 07:46:11 来源: 作者: 【 】 浏览:1
Tags:基于 Android NDK 开发 实践 案例 解析

1:案例分析


在进行Android本地项目开发时,我们需要用到自己的底层函数(.c或.cpp文件)和相关so库,Google提供的NDK开发工具可以帮助我们解决这个问题,按照相关开发流程,我们可以在Android开发项目中调用本地的so库,实现本地开发模块。


2:开发环境


a:Eclipse (Galileo版本)
b:Android sdk 2.2 (注:NDK开发要求sdk 1.5以上版本)
c:jdk1.6
d:Android-ndk-r17b(注:这是最新版本ndk,这个版本是不需要用到cygwin工具,推荐使用此版本


(注:2、3和4都需要配置环境变量,这个特别提醒一下。配置好以后可以在cmd输入相关命令测试一下环境变量是否配置成功。)


3:新建Android工程


这个比较简单,按照步骤一步一步就可以,这里需要继承Activity (底层的操作要在Activity上显示)。



4:编写native方法


这里编写三个native方法,第一个用于int型加法操作,第二个用于字符串操作,第三个用于向/sdcard的yao.txt文件中写入数据。


publicclass NDKTest {


//加法native方法


publicnativeint jniAdd(int a,int b);


//文本显示native方法


publicnative String jniGetString();


//向/sdcard中写入文件native方法


publicnativevoid jniWrite();


//三种方法通过libNDKDev-jni.so库文件来实现


static


{


System.loadLibrary("NDKDev-jni");


}


}


5:生成.h文件


在cmd模式下,进入工程下的bin文件目录,执行javah命令,如下图所示



从上图可以看到,生成了org_yao_ndk_NDKTest.h文件,进入此文件看看生成了哪些JNI接口,如下图所示:



从上图可以看到,生成了3个相应的JNI接口,注意其命名方式,Java_org_yao_NDKTest_Method。


6:编写.c文件



按照要求,编写相应的.c文件(.cpp文件也是可以的)注.c文件不需要同.h文件名字一样,而且上面生成的.h文件到此已经没有什么价值了,可以直接删掉。不过.c文件里面需要#include 头文件。


7:编写Android.mk配置文件


LOCAL_PATH := $(call my-dir)


include $(CLEAR_VARS)


LOCAL_MODULE := NDKDev-jni


LOCAL_SRC_FILES := NDKTest.c


include $(BUILD_SHARED_LIBRARY)


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Ubuntu下OpenGL编程基础解析 下一篇Java对cookie的操作

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·在 Redis 中如何查看 (2025-12-26 03:19:03)
·Redis在实际应用中, (2025-12-26 03:19:01)
·Redis配置中`require (2025-12-26 03:18:58)
·Asus Armoury Crate (2025-12-26 02:52:33)
·WindowsFX (LinuxFX) (2025-12-26 02:52:30)