Android-Eclipse下开发JNI过程的进一步思考



Android-Eclipse下开发JNI过程的进一步思考

 

在我的前几篇文章中,有一篇介绍了如何在Eclipse下进行JNI开发,只介绍了简单的过程和实现步骤。我们所有的JNI开发都遵循这个过程。

前面的例子只是实现了一个加法运算,当然在我们现实的项目中肯定不是那么简单的,也许你些的JNI就是一个C++工程。今天要将的是如何来编写C++程序,即在一个很庞大项目中如何进行C++代码的增加和引用。还是以举例的方式来完成吧。

1.还是要创建Android项目,定义本地方法调用接口。

      这个过程与前一篇文章中说的过程是一样的,不用再说了。大致是这样的:

 

 

TestJNI.java就是我们定义的本地方法接口,内容如下:

 

可以看到,这里面我定义了三个方法:初始化,加法,销毁。这三个方法要通过C++程序来完成。

 

2.使用javah命令生成接口的头文件并实现

      这个过程也是跟前篇一样的,将生成的.h头文件拷贝到项目的jni目录下。然后写一个xxx.cpp实现文件。

      这个时候要注意了,我们前面写的就是一个加法,所以在cpp文件中很容易实现。假如你要实现的过程比较复杂,需要另写一个来调用,怎么办咧?我们就还是以加法来说吧,我现在不想在我的头文件的cpp实现里面完成,我要另写一个类来完成加法运算。你可以这样来做:

      按照C++编程的习惯,我们一般是写一个.h头文件定义一些方法和属性,然后在对应的cpp中来实现。我们就以Add.h吧。

   

这是加法类的头文件。

 

 

这是Add.cpp实现。其实也是蛮简单的,只不过我就是想在单独的类中实现。

 

3.完成所有接口的实现

      其他的接口实现就不摆出来了,就摆一个加法的:

 

 

4.编写Android.mkApplication.mk文件

      直接上图了:

 

 

 

 

这个是所有接口的实现文件。


是我们自定义的一个加法运算的类。必须这也家进去,否则编译会出错的。

 

 

所有工作做完了之后,我们开始编译了,成功的标志

 

 

 

 

 

 

下面再说一个情况:假如我们定义的接口不够,需要再增加一个减法运算,怎么办咧?

好说,再自定义一个减法的类,实现好了再在Android.mk文件中加上。但是需要注意的是,头文件还是要重新用javah来完成。

 

 

 

 

 

完毕。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值