logo
WeChat Login
accBotPlugin
accBotPlugin
accbot插件
No description

accBotPlugin

accBot 插件仓库,一个文件夹一个插件。每个插件独立编译、独立说明。

插件列表

插件说明大小状态
paddleocrPaddleOCR 多语言 OCR(中文+俄语)~12MB活跃
opencvOpenCV 图色识别(模板匹配/颜色查找)~8.2MB活跃
easyedge-ocr百度商业 OCR(旧版,已被 PaddleOCR 替代)~24MB停用

快速开始

1. 安装依赖

# 安装 NDK (如果还没有) # NDK r26d: https://developer.android.com/ndk/downloads # 下载插件编译依赖(Paddle Lite SDK、模型等) cd paddleocr bash setup-deps.sh

2. 编译主程序(必须先做)

cd ../accBot3.0 ./gradlew assembleDebug

3. 编译插件

# 编译 PaddleOCR 插件 cd ../accBotPlugin/paddleocr bash build.sh # 编译 OpenCV 插件 cd ../opencv bash build.sh

目录结构

accBotPlugin/ ├── README.md # 本文件 ├── paddleocr/ # PaddleOCR 多语言 OCR 插件 │ ├── README.md # 插件说明和编译指南 │ ├── build.sh # 编译脚本 │ ├── setup-deps.sh # 依赖下载脚本 │ ├── plugin.json # 插件清单 │ ├── jni/ # C++ JNI 源码 │ │ ├── paddleocr_jni.cpp # OCR pipeline (C++ 实现) │ │ └── paddleocr_loader.cpp # SO 加载器 │ ├── libs/ # 本地 JAR 依赖 │ │ └── PaddlePredictor.jar │ └── src/ # Java 源码 │ └── vip/accbot/plugin/paddleocr/ ├── opencv/ # OpenCV 图色识别插件 │ ├── README.md # 插件说明和编译指南 │ ├── build.sh # 编译脚本 │ ├── plugin.json # 插件清单 │ ├── libs/ # 本地 SO/JAR 依赖 │ │ ├── arm64-v8a/ │ │ │ ├── libopencv_java4.so │ │ │ └── libc++_shared.so │ │ └── opencv-java-api.jar │ └── src/ # Java 源码 │ └── vip/accbot/plugin/opencv/ └── easyedge-ocr/ # 百度商业 OCR 插件(旧版) ├── README.md # 插件说明 ├── build-ocr-plugin.sh # 编译脚本 ├── plugin.json # 插件清单 └── src/ # Java 源码 └── vip/accbot/plugin/ocr/

插件开发规范

文件结构

每个插件目录必须包含:

  • plugin.json — 插件清单(name、version、entryClass、functions、soFiles、permissions)
  • build.shbuild-*.sh — 编译脚本
  • README.md — 插件说明文档
  • src/ — Java 源码
  • libs/ — 本地 SO/JAR 依赖(提交到 git)
  • jni/ — JNI 源码(如需 Native 代码)
  • models/ 或通过 setup-deps.sh 下载的外部资源

编译环境

  • JDK 17+
  • Android SDK 34 + Build Tools 34.0.0
  • NDK r26d
  • patchelf(PaddleOCR 插件需要)

插件格式

编译产物为 ZIP 包:

plugin-name-plugin.zip ├── classes.dex # Java 字节码 ├── plugin.json # 插件清单 ├── lib/arm64-v8a/ # Native SO 文件 │ ├── libc++_shared.so │ └── *.so └── assets/ # 资源文件(模型、字典等)

加载方式

// JS 端推送 ZIP 到设备 await android.file.writeBase64(path, base64Data); // 加载插件 await android.app.loadPlugin(path); // 调用插件 await android.ocr.ocr(); // 通过 SDK 封装调用
Recent updates