6.7.0 - Alpha16 - 打包应用支持自带离线 Paddle OCR 引擎, 避免依赖插件安装

This commit is contained in:
SuperMonster003
2026-01-18 23:33:18 +08:00
parent 52be56318f
commit a46d78b704
54 changed files with 2745 additions and 253 deletions

View File

@@ -0,0 +1,28 @@
plugins {
id("org.autojs.build.versions")
id("org.autojs.build.jvm-convention")
id("com.android.library")
id("org.jetbrains.kotlin.android")
kotlin("plugin.parcelize")
}
android {
namespace = "org.autojs.plugin.paddle.ocr.api"
compileSdk = versions.sdkVersionCompile
defaultConfig {
minSdk = versions.sdkVersionMin
consumerProguardFiles("consumer-rules.pro")
}
lint {
targetSdk = versions.sdkVersionTarget
abortOnError = false
}
buildFeatures {
aidl = true
buildConfig = false
}
}

View File

@@ -0,0 +1,16 @@
package org.autojs.plugin.paddle.ocr.api;
import org.autojs.plugin.paddle.ocr.api.PluginInfo;
import org.autojs.plugin.paddle.ocr.api.OcrOptions;
import org.autojs.plugin.paddle.ocr.api.OcrResult;
import android.os.ParcelFileDescriptor;
interface IOcrPlugin {
PluginInfo getInfo();
List<String> recognizeText(in ParcelFileDescriptor imageFd, in OcrOptions options);
List<OcrResult> detect(in ParcelFileDescriptor imageFd, in OcrOptions options);
}

View File

@@ -0,0 +1,10 @@
package org.autojs.plugin.paddle.ocr.api;
parcelable OcrOptions {
int cpuThreadNum;
boolean useSlim;
boolean useOpenCL;
int detLongSize;
float scoreThreshold;
android.os.Bundle extras;
}

View File

@@ -0,0 +1,8 @@
package org.autojs.plugin.paddle.ocr.api;
parcelable OcrResult {
String text;
float confidence;
android.graphics.Rect bounds;
android.os.Bundle extras;
}

View File

@@ -0,0 +1,24 @@
package org.autojs.plugin.paddle.ocr.api;
parcelable PluginInfo {
String name;
@nullable String description;
String author;
@nullable String[] collaborators;
String versionName;
long versionCode;
@nullable String versionDate;
/** @example "paddle-ocr-pp-ocrv5" */
@nullable String id;
/** @sample "paddle-ocr" */
@nullable String engine;
/** @sample "v5" */
@nullable String variant;
@nullable android.os.Bundle capabilities;
}