基于ndk的jni调用

2025-06-08 01:34:02

1、准备工作:下载NDK,配置环境变量,即将NDK的路径添加到PATH中,同时添加到eclipse的windows->preferences->Android->NDK的NDK Location中。

2、我先鲤噼险椅叙述一下总的流程,再分开叙述各步骤的实现。流程:第一步:在MainActivity中声明native方法;第二步:在项目中创建名叫jni的目录,接下来在其中生成.h文件;第三步:在jni目录中创建.c文件,实现本地方法;第四步:编译.c文件,生成.so文件;第五步:在Activity中加载.so文件;最后,在Activity的oncreate方法中中调用本地方法,运行项目。

3、一.在MainActivity中声明native方法:public native String stringFromJNI();具体请参考下面的代码:

基于ndk的jni调用

5、配置完成后,让我们来生成头文件吧。注意两点:1、选中Activity,单击一下即可。2、如下图,单击generate_c_header_file。刷新项目,头文件就生成了!

基于ndk的jni调用

7、第三步:实现本地方法。右键项目->Android Tools->Add Nat坡纠课柩ive Support..,系统会自动给我们在jni目录中生成android.mk文件和.cpp文件。若是由于第一次执行此生成方法则还需右键项目->properties->c/c++ general->Path and Symbols->add->File System…,找到NDK的目录中的platforms中的版本(任何一个都可以)中的相应平台(我的是arm平台)中的include文件夹,选中,点击确定。如下图。打开.cpp文件,实现本地方法。若有修改android.mk文件的必要再修改android.mk文件。如下图。

基于ndk的jni调用

8、第四步:编译.c文件,生成.so文件。打开cmd,进入项目所在路径,输入命令ndk-build进行编译。然后刷新项目,就会发现多了一个obj文件夹,我们的.so文件就在这里边。

9、第五步:在Activity中加载.so文件只需要键入如下代码。

基于ndk的jni调用

10、最后,在Activity的oncreate方法中中调用本地方法,运行项目。至此,大功告成。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢