native-fast-printer-custom-base.md 2.19 KB

native-fast-printer 自定义基座接入(Windows)

本文用于当前项目一键接入 native-fast-printer,并打出可安装的 Android 自定义基座。

0. 现状确认

本项目已具备以下前提:

  • src/manifest.json 已声明 app-plus.nativePlugins.native-fast-printer
  • nativeplugins/native-fast-printer 目录可用
  • 打印逻辑已在运行时检查插件可用性

你只需要执行同步 + 在 HBuilderX 打自定义基座。

1. 同步插件到 uniapp 目录

在仓库根目录执行:

powershell -ExecutionPolicy Bypass -File ".\美国版\Food Labeling Management App UniApp\scripts\sync-native-fast-printer.ps1"

成功后会输出 SRC AAR / DST AAR 的大小与时间戳。

2. HBuilderX 打包自定义基座(Android)

  1. 用 HBuilderX 打开目录:美国版/Food Labeling Management App UniApp
  2. 进入 发行 -> 原生App-云打包
  3. 选择 Android
  4. 关键项:
    • 勾选 自定义基座
    • 勾选 使用本地 nativeplugins
    • 确认插件列表包含 native-fast-printer
  5. 开始打包并下载生成的 APK(自定义基座)
  6. 卸载设备旧包,安装这个新 APK

3. 安装后验收

  1. 打开蓝牙页,连接目标打印机
  2. 执行测试打印
  3. 进入正式打印页打印 1 张
  4. 若插件成功生效,不应再出现 NATIVE_FAST_PRINTER_PLUGIN_NOT_FOUND

4. 常见问题

  • 打包后仍提示插件不存在
    多数是安装了旧包。请先卸载旧包再安装新 APK。

  • HBuilderX 未识别 native plugin
    检查 nativeplugins/native-fast-printer/package.json 是否存在且 idnative-fast-printer

  • 需要更新原生代码
    修改 打印机安卓基座/native-fast-printer 后,重新生成 AAR 并再次执行第 1 步同步。

  • 内置打印机走 nativePrintTemplate(快打)(AAR ≥ 1.2.7,调试里 pluginVersion 可见)
    在 App 内选择 Built-in,驱动选 Generic TSCgeneric-tsc),且基座已集成 printUposCommandBytes(UPOS)。
    此时 printTemplate 会在原生侧生成 TSC 指令后走 UPOS 内置写出,无需经典蓝牙;若机芯实际只支持 ESC/POS,请勿选 TSC,否则可能乱码。