编写JNI的两种应用层与JNI层方法映射方式

这篇博客介绍了在JNI开发中,如何将应用层的方法映射到JNI层。方法包括直接在函数名中映射和通过注册本地方法。直接映射简单但不灵活,而注册本地方法虽然复杂些,但更便于管理和修改。在注册本地方法时,涉及JNINativeMethod结构体、RegisterNatives函数和JNI_OnLoad方法的使用。
摘要由CSDN通过智能技术生成

通常我们在编写的JNI 时,在定义上层应用层需要调用的函数中,我们需要对该函数进行应用层与JNI层方法之间的映射。这样上层的Android应用程序才能正确的调用我们的JNI函数,这种映射的方式一共有两种。

在函数名中进行映射
在函数名中进行映射是最为简单的一种方法,因为只要我们知道调用我们JNI函数的Java文件所在的路径,那么我们就将该路径放在我们JNI对应函数的前面就可以了,同时还要在函数前面加上Java,路径间用”_”进行分隔。例如,如果我们的应用程序中这样加载动态链接库:

package com.intel.jni;

public class CC1100DataSource 
{
   
     public native int Open();
     public native int Close();
     public native byte[] Read( int len);
     public native int Write(char[] buf , int len);
     public static CC1100DataSource  cc1100instance;

     public  static CC1100DataSource 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值