Android Jni 运用问题总结

花了一早上时间写了个jni Demo,途中遇到一些问题,在这里总结一下,至于如何配置NDK环境,这里就不再重复了,网上例子太多了(NDK环境配置)。


先看工程目录,这是最后生成so文件以后的目录:



问题一:根据java native 接口 生成 c 头文件

我是windows系统,在cmd命令行 进入工程主目录 用 javah 命令生成 头文件

至于javah命令的详细解释,请参考:http://blog.csdn.net/niu05500230/article/details/8277190

说明一下:

1、要先将java代码编译为 class文件,然后用生成的class文件(路径在主工程bin/classes目录下,在命令行中注意斜杠)生成c头文件

2、-d jni 是将生成的头文件输出在 jni目录(自动创建)下

3、头文件的相关信息可参考:http://www.cnblogs.com/saintaxl/archive/2012/01/01/2309443.html

4、头文件生成之后就可以写C或C++程序了

5、最后在jni目录下编写mk文件,可参考:http://blog.csdn.net/niu05500230/article/details/8277204


问题二:用NDK编译c/c++程序

打开Cygwin Terminal终端,用cd命令进入主工程jni 目录

用ndk-build命令编译mk文件

注意路劲问题,也可以将ndk路径加入环境变量,否则会报错


下边是编译结果:



然后在java代码里 加载生成的库文件了:

	static {
		System.loadLibrary("jniTest");
	}

之后就可以调用之前定义的native接口了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值