android jni 串口收发,JNI技术及Android串口通信

1.JNI技术框架

首先,Java代码是运行在JVM上的class集合,是通过JVM解释执行,这也是Java能够跨平台的根本原因;其次,在某些与硬件或者操作系统平台相关的Java软件中,需要在Java代码中调用使用C、C++等编写的本地应用或者库文件;最后,JNI(Java Native Interface)是一个能使Java代码调用或被这些本地应用调用的程序框架。

JNI技术的目的是为了实现Java语言与其他编程语言(汇编、C、C++等)的交互。那么在什么时候需要用到这项技术呢?(1)软件不能完全采用Java语言编程时,例如对Java标准类文件不能直接操作的与平台、硬件等编程时;(2)软件对时间或者性能要求较高时,需要用到底层语言实现对对象的驱动(本地代码要比JVM的执行效率更高);(3)用其他编程语言已经实现了功能,在Java代码中直接调用已经生产的库文件(如动态链接库)。

JNI技术的实现原理如图1所示。首先通过在Java代码加载库文件,调用库文件实现的根方法(stubmethod);然后通过JNI加载动态库文件(Windows下为.dll文件,Linux下为.so文件),调用本地方法(nativemethod);最后在本地文件中实现功能,返回处理值。

0818b9ca8b590ca3270a3433284dd417.png

图1 JNI调用原理

在Java中实现JNI一般有如下几个步骤:

(1)在Java代码中使用System

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值