1、cordova开发的另外一个难点就在于如何自定义自己的插件,将自己的原生Android代码抽离出来,做成插件的形式集成到app。中。如何开发自定义插件,请你先详细地阅读完这个网址:https://www.jianshu.com/p/02e17c392144里面的内容。下面会以我开发RS232串口为例,去讲解cordova插件的自定义开发,什么是RS232请自行百度。
2、自定义插件开发,集成RS232串口通讯,读取IC卡里面的唯一UUID。
A、首先安装plumam命令行工具,npm install -g plugman。安装完后到我cordova项目的根路径下,使用plumam创建插件的命令:plugman create --name serialPortPlugin --plugin_id com.running.serialport --plugin_version 1.0.0,会生成初始化插件,如下图:
cmd进入serialPortPlugin,执行plugman platform add --platform_name android,为插件添加Android平台
B、将我们相应的Android原生代码放入src/android里面, 其中jni、jniLibs、android_serialport_api文件夹里面的代码是谷歌开源RS232串口通讯代码。需要复制粘贴进去。
C、配置plugin.xml,下面都备注得很清楚:
version="1.0.0"
xmlns="http://apache.org/cordova/ns/plugins/1.0">
src="www/serialPortPlugin.js">
target="res/xml/config.xml">
name="android-package"
value="com.running.serialport.SerialPortPlugin" />
target="AndroidManifest.xml">
target-dir="src/com/running/serialport" />
target-dir="src/android_serialport_api" />
target-dir="src/com/running/entity" />
target-dir="src/com/running/utils" />
target-dir="src/com/running/utils" />
target-dir="src/com/running/utils" />
D、创建package.json文件和修改package.json文件
E、修改D:\cordovaProject\test\serialPortPlugin\www\serialPortPlugin.js,中的serialPortPlugin.js,这个js文件是js和Android原生代码交互的桥梁。
F、安装已经开发完成的插件。cmd进入D:\cordovaProject\test\platforms\android,执行cordova plugin add D:\cordovaProject\test\serialPortPlugin,完成后就会见插件加入到我们的Android项目里面。
本项目还见数据传输到okhttp的jar包来上传数据,因此,需要将它的包也放入src/android,对应路径下,同时在plugin.xml里面设置对应路径。
插件源码:https://download.csdn.net/download/qq_33678647/10750591