Android使用jin调用C中方法打开设备节点

本博客主要说明在Android Studio中使用jin调用C中代码打开设备节点并且发送命令,在安卓中不能直接调用C方法,只能通过.c文件生成So库,使用安卓代码调用so库在调用C文件中的方法
废话不多说,直接上代码:
我的Android Studio项目目录:
Android使用jin调用C中方法打开设备节点_第1张图片
下面是C文件内方法:
Android使用jin调用C中方法打开设备节点_第2张图片
Android使用jin调用C中方法打开设备节点_第3张图片
除了.c文件,这几个文件也是生成so库文件的必要文件
Android使用jin调用C中方法打开设备节点_第4张图片
这几个文件内容如下:
Android使用jin调用C中方法打开设备节点_第5张图片
Android使用jin调用C中方法打开设备节点_第6张图片
Android使用jin调用C中方法打开设备节点_第7张图片
Android使用jin调用C中方法打开设备节点_第8张图片
到这里基本上就可以生成自己的so库了,具体步骤如下:
进入项目目录下,找到刚才新建的那几个文件的文件夹,我的是:
Android使用jin调用C中方法打开设备节点_第9张图片
在这个文件夹下shift+右键,选择 "在此处打开命令窗口"打开之后如下:
Android使用jin调用C中方法打开设备节点_第10张图片
之后输入命令:ndk-build可以看到如下说明生成成功:

Android使用jin调用C中方法打开设备节点_第11张图片
默认生成的在src/libs下面:
Android使用jin调用C中方法打开设备节点_第12张图片
到此生成我们需要的so库,接下来就是用安卓代码调用so库了:
需要注意的是:在上面.C文件中的C方法名称:从后面往前看,第一个(setGpio)是安卓中接口名称,第二个(GpioOut)是接口所在类名称,第三个(com_sc20)是类所在的包名
接下来按照这个方法名称建包,建类(注意一定要和.c文件方法名称一致):
Android使用jin调用C中方法打开设备节点_第13张图片
建好之后就可以在启动的Activity中创建对象,调用对象的方法,并且发送命令:
Android使用jin调用C中方法打开设备节点_第14张图片
Android使用jin调用C中方法打开设备节点_第15张图片

你可能感兴趣的:(jin)