本篇文章从实战角度出发,将UniApp集成新大陆PDA设备RFID的全过程分为四部曲,涵盖环境搭建、插件开发、AAR打包、项目引入和功能调试。通过这份教程,轻松应对安卓原生插件开发与打包需求!
一、将android程序打包成aar插件包
- 直接使用Terminal命令窗口打包
- chmod +x ./gradlew 授权目录
- ./gradlew clean 清理构建文件
- ./gradlew assembleRelease 打包成正式包
- 查看打包文件
二、uniapp引用aar原生插件包(暴露的模块名为RfidModule)
- 在uniapp中新增相关目录结构,按照规范引用相关文件和依赖,并配置相关配置(要与android项目的中的dcloud_uniplugins.json配置一致)
- uniapp>manifest.json添加App原生插件配置
三、测试页面调用方法
- 使用方式:
const rfidModule = uni.requireNativePlugin('RfidModule');
<template><view class="content"><image class="logo" src="/static/logo.png"></image><view class="text-area"><button @click="add">测试添加方法</button><button @click="connect">初始化并连接设备</button><button @click="startInventory">启动盘点</button><button @click="readTagData">读取标签数据</button><button @click="writeTagDataToEPC">写入标签数据</button><button @click="stopInventory">停止盘点</button><button @click="disconnect">断开连接</button></view></view>
</template><script>const rfidModule = uni.requireNativePlugin('RfidModule');console.log(rfidModule);export default {data() {return {title: 'Hello'}},onLoad() {},methods: {// 测试添加方法add() {rfidModule.add({a: 1, b: 3}, e => {uni.showToast({title: "add测试方法=====" + JSON.stringify(e),icon: 'none'})})// let rtn = rfidModule.add({// a: 1,// b: 3// });// console.log(rtn);// uni.showToast({// title: "add测试方法=====" + JSON.stringify(rtn),// icon: 'none'// })},// 初始化并连接设备connect() {rfidModule.initialize();let rtn = rfidModule.connect();uni.showToast({title: "初始化并连接设备=====" + JSON.stringify(rtn),icon: 'none'})},// 启动盘点startInventory() {let rtn = rfidModule.startInventory()uni.showToast({title: "启动盘点=====" + JSON.stringify(rtn),icon: 'none'})},// 读取标签数据readTagData() {let rtn = rfidModule.readTagData(2, 0, 2, "00000001");uni.showToast({title: "读取标签数据=====" + JSON.stringify(rtn),icon: 'none'})},// 写入标签数据writeTagDataToEPC() {let rtn = rfidModule.writeTagDataToEPC("dataToWrite", "00000001");uni.showToast({title: "写入标签数据=====" + JSON.stringify(rtn),icon: 'none'})},// 停止盘点stopInventory() {let rtn = rfidModule.stopInventory();uni.showToast({title: "停止盘点=====" + JSON.stringify(rtn),icon: 'none'})},// 断开连接disconnect() {let rtn = rfidModule.disconnect()uni.showToast({title: "断开连接=====" + JSON.stringify(rtn),icon: 'none'})}}}
</script>
四、制作自定义调试基座
五、uniapp真机调试自定义原生插件
- 使用自定义基座运行到真机上(非真机上无法调试自定义插件)
- 运行效果
此时,流程跑通了,后续根据自己的业务开发即可。
踩坑不容易,如果对你有帮助,麻烦点个赞或收藏一下,谢谢!!!
快速通道:
uniapp—android原生插件开发(1环境准备)
uniapp—android原生插件开发(2原生插件开发)
uniapp—android原生插件开发(3Android真机调试)
uniapp—android原生插件开发(4uniapp引用aar插件)