NDK配置+第一个JNI实例+ndk-build常见问题

NDK下载及配置自行百度一下就好,建议用9或者10的新版本

下载后将ndk的路径添加到环境变量里

之后即可使用ndk-make命令进行so文件的生成


第一个JNI程序实现步骤如下,蓝色字体部分网上都有,下面这两个网址都给出了代码,不再赘述

http://blog.csdn.net/xyz_lmn/article/details/6955031

http://blog.csdn.net/redoffice/article/details/6654714

        1、在Java中声明native()方法,然后用javac编译产生.class文件; 

      2、用javah命令产生一个.h文件; 

      3、根据.h文件编写相应的.c文件

      4、根据.h和.c编写.mk文件(此处注意在.h和.c文件的名字是相同的,而且.c文件里要include “.h”文件)

      5、在项目跟目录建立一个jni文件夹,将.h .c .mk这三个文件拷贝到这个文件夹里(若没有此步骤使用ndk命令时会报错如下,也可以手动设置NDK_PROJECT_PATH)


D:\Java\workspace\HelloJNI3_12>ndk-build
Android NDK: Could not find application project directory !
Android NDK: Please define the NDK_PROJECT_PATH variable to point to it.
D:\Java\android-ndk-r10d\build/core/build-local.mk:148: *** Android NDK: Aborting    .  Stop.

6、用命令行cd 到项目根目录,然后ndk-build

D:\Java\workspace\HelloJNI3_12>ndk-build
此处的报错可以看懂,多为你的.c文件或者.mk文件的编写出了问题,具体错误可参考这个网址

http://www.tuicool.com/articles/MbYRNn


7、编译成功后的显示如下:

<span style="font-size:14px;">D:\Java\workspace\HelloJNI3_12>ndk-build
[armeabi] Compile thumb  : com_nedu_jni_helloword_printf-jni <= Printf_Jni.c
[armeabi] SharedLibrary  : libcom_nedu_jni_helloword_printf-jni.so
[armeabi] Install        : libcom_nedu_jni_helloword_printf-jni.so => libs/armea
bi/libcom_nedu_jni_helloword_printf-jni.so</span>
8、将.so文件添加到项目中运行即可


其他可用网站:

javah的使用:http://blog.csdn.net/archfree/article/details/6155995

android的jNI实例:http://www.cnblogs.com/bastard/archive/2012/05/19/2508913.html

JNI如何为java提高效率:http://joanzq.iteye.com/blog/161152


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值