From 7a67237d04559ccc95252b334be62a4cff131c0c Mon Sep 17 00:00:00 2001 From: JeromeTseng Date: Wed, 25 Dec 2024 10:53:53 +0800 Subject: [PATCH 1/2] =?UTF-8?q?docs:=20=E5=AE=8C=E5=96=84=E6=96=87?= =?UTF-8?q?=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 112 +++++++++++++++++++++++++++++++------------ example/pubspec.lock | 34 ++++++------- photos/r8mix.png | Bin 0 -> 49539 bytes 3 files changed, 99 insertions(+), 47 deletions(-) create mode 100644 photos/r8mix.png diff --git a/README.md b/README.md index 9c06b15..f58027c 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,11 @@ flutter_plugin_pda_scanner -

flutter_plugin_pda_scanner v3.0.0

+

flutter_plugin_pda_scanner +v3.0.0

-

一款基于Flutter开发的支持多种PDA扫码的插件

+

一款基于Flutter开发的支持多种PDA扫码的插件

-

+

@@ -32,7 +33,7 @@ 4. **监听事件**:通过`on`方法设置事件监听,使用tag作为标识。 5. **取消监听**:使用`off`方法取消特定tag的监听或`offAll`取消所有监听。 -已测试的型号有: +已测试的型号有: ```text 斑马:MC3300x @@ -44,14 +45,16 @@ 同时支持根据广播行为手动注册广播监听PDA扫码 ``` -**_可先 [下载](https://gitee.com/zengxingshun/flutter_plugin_pda_scanner/releases/download/V3.0.0/pda_scanner-V3.0.0.apk) 示例 app 进行测试,如需要集成 native 方式扫码的 PDA,请加我微信反馈,欢迎 fork 及 pr 。_** +** +_可先 [下载](https://gitee.com/zengxingshun/flutter_plugin_pda_scanner/releases/download/V3.0.0/pda_scanner-V3.0.0.apk) +示例 app 进行测试,如需要集成 native 方式扫码的 PDA,请加我微信反馈,欢迎 fork 及 pr 。_** | | | | -| :------------------------------------------------: | :------------------------------------------------------: | :---------------------------------------------------------: | - -➡ **如果是集成蓝牙扫码枪/USB扫码枪,请移步至另一个优秀开源库:[liyufengrex/flutter_scan_gun: flutter:usb 即插款扫码枪通用方案。](https://github.com/liyufengrex/flutter_scan_gun)** - +|:--------------------------------------------------:|:--------------------------------------------------------:|:-----------------------------------------------------------:| +➡ * +*如果是集成蓝牙扫码枪/USB扫码枪,请移步至另一个优秀开源库:[liyufengrex/flutter_scan_gun: flutter:usb 即插款扫码枪通用方案。](https://github.com/liyufengrex/flutter_scan_gun) +** # 二、使用方式 📔 @@ -62,8 +65,8 @@ ```yaml dependencies: pda_scanner: - git: - url: https://gitee.com/zengxingshun/flutter_plugin_pda_scanner.git + git: + url: https://gitee.com/zengxingshun/flutter_plugin_pda_scanner.git ``` ## 2. 导入 @@ -82,33 +85,49 @@ void main() async { await PdaUtils.init(); runApp(const MyApp()); } - + // 监听事件 可以监听多个事件 用tag进行区分 -PdaUtils.on("tag", (barcode) { - // 接收回调的条码... +PdaUtils.on +("tag +" +, (barcode) { +// 接收回调的条码... }); // 取消tag上的监听 PdaUtils.off("tag"); ``` + * ### 手动初始化 ```dart // 传入广播action 和要获取的数据标签 label -await PdaUtils.initByCustom("com.action.scannersrvice....","data"); +await +PdaUtils.initByCustom +("com.action.scannersrvice.... +" +, +" +data +" +); // 监听事件 可以监听多个事件 用tag进行区分 PdaUtils.on("tag", (barcode) { - // 接收回调的条码... +// 接收回调的条码... }); // 取消tag上的监听 PdaUtils.off("tag"); ``` -🔷 **_这里的tag相当于一个id,每个界面定义一个唯一的标识,相当于标记哪个界面监听了扫码事件,页面销毁时也根据这个id取消监听,避免内存泄漏。_** +🔷 ** +_这里的tag相当于一个id,每个界面定义一个唯一的标识,相当于标记哪个界面监听了扫码事件,页面销毁时也根据这个id取消监听,避免内存泄漏。_ +** -🔷 **_条码内容会经过处理,首尾的空白字符(换行符、制表符、空格)都会被替换成空字符串,但是字符中间的空白字符不会替换_** +🔷 ** +_条码内容会经过处理,首尾的空白字符(换行符、制表符、空格)都会被替换成空字符串,但是字符中间的空白字符不会替换_ +** ## 4. Api详情 @@ -165,7 +184,10 @@ class _MyHomePageState extends State { Widget build(BuildContext context) { return Scaffold( appBar: AppBar( - backgroundColor: Theme.of(context).colorScheme.inversePrimary, + backgroundColor: Theme + .of(context) + .colorScheme + .inversePrimary, title: Text(widget.title), ), body: Center( @@ -215,35 +237,38 @@ class _MyHomePageState extends State { } ``` +# 三、额外说明【斑马ZEBRA】 ⚡ - -# 三、额外说明 ⚠ - -**_ZEBRA(斑马)的PDA发生闪退或其他情况则需要做以下额外配置,您需要在您Flutter项目的安卓目录下的   AndroidManifest.xml 中加入以下内容_** +** +_ZEBRA(斑马)的PDA发生闪退或其他情况则需要做以下额外配置,您需要在您Flutter项目的安卓目录下的 +AndroidManifest.xml中加入以下内容_** ### 1、在 `manifest` 节点下加入 + ```xml - - - + + + ``` + ### 2、在 `application` 节点下加入 ```xml - - + + ``` ### 3、在项目\android\app下新建 libs 文件夹 -将 `emdk-11.0.129.jar` 放入该文件夹中,可在zebra官方进行下载 或者在我提供的assets中进行下载。 +将 `emdk-11.0.129.jar` 放入该文件夹中,可在zebra官方进行下载 或者在我提供的assets中进行下载。 在项目app下的build.gradle文件的dependencies下添加 ```groovy // 斑马PDA -compileOnly files ('libs/emdk-11.0.129.jar') +compileOnly files('libs/emdk-11.0.129.jar') ``` 以下为Zebra相关问题: @@ -253,3 +278,30 @@ compileOnly files ('libs/emdk-11.0.129.jar') [Zebra EMDK Setup - TechDocs](https://techdocs.zebra.com/emdk-for-android/latest/guide/setup/) [Basic Scanning with Barcode API - TechDocs (zebra.com)](https://techdocs.zebra.com/emdk-for-android/11-0/tutorial/tutbasicscanningapi/) + +# 四、打包异常说明 💥 + +**如果在运行 `flutter build apk`出现如下异常** + +```text +ERROR: Missing classes detected while running R8. Please add the missing classes or apply additional keep rules that are generated in [your_flutter_project]\build\app\outputs\mapping\release\missing_rules.txt. +ERROR: R8: Missing class com.symbol.emdk.EMDKBase (referenced from: void io.github.jerometseng.pdascanner.pda_type.zebra.ZebraConfig.onOpened(com.symbol.emdk.EMDKManager)) +Missing class com.symbol.emdk.EMDKManager$EMDKListener (referenced from: void io.github.jerometseng.pdascanner.pda_type.zebra.ZebraConfig.open() and 1 other context) +Missing class com.symbol.emdk.EMDKManager$FEATURE_TYPE (referenced from: void io.github.jerometseng.pdascanner.pda_type.zebra.ZebraConfig.close() and 2 other contexts) +Missing class com.symbol.emdk.EMDKManager (referenced from: com.symbol.emdk.EMDKManager io.github.jerometseng.pdascanner.pda_type.zebra.ZebraConfig.emdkManager and 4 other contexts) +Missing class com.symbol.emdk.EMDKResults$STATUS_CODE (referenced from: void io.github.jerometseng.pdascanner.pda_type.zebra.ZebraConfig.open()) +Missing class com.symbol.emdk.EMDKResults (referenced from: void io.github.jerometseng.pdascanner.pda_type.zebra.ZebraConfig.open()) +...... + +FAILURE: Build failed with an exception. +``` + +**请在` [your_flutter_project]\android\app\proguard-rules.pro ` 文件中添加如下内容:** + +``` +-dontwarn com.symbol.emdk.** +``` + +如图: + + diff --git a/example/pubspec.lock b/example/pubspec.lock index 8f7af7c..fee6d14 100644 --- a/example/pubspec.lock +++ b/example/pubspec.lock @@ -133,10 +133,10 @@ packages: dependency: transitive description: name: collection - sha256: a1ace0a119f20aabc852d165077c036cd864315bd99b7eaa10a60100341941bf + sha256: ee67cb0715911d28db6bf4af1026078bd6f0128b07a5f66fb2ed94ec6783c09a url: "https://pub.dev" source: hosted - version: "1.19.0" + version: "1.18.0" crypto: dependency: transitive description: @@ -339,18 +339,18 @@ packages: dependency: transitive description: name: leak_tracker - sha256: "7bb2830ebd849694d1ec25bf1f44582d6ac531a57a365a803a6034ff751d2d06" + sha256: "3f87a60e8c63aecc975dda1ceedbc8f24de75f09e4856ea27daf8958f2f0ce05" url: "https://pub.dev" source: hosted - version: "10.0.7" + version: "10.0.5" leak_tracker_flutter_testing: dependency: transitive description: name: leak_tracker_flutter_testing - sha256: "9491a714cca3667b60b5c420da8217e6de0d1ba7a5ec322fab01758f6998f379" + sha256: "932549fb305594d82d7183ecd9fa93463e9914e1b67cacc34bc40906594a1806" url: "https://pub.dev" source: hosted - version: "3.0.8" + version: "3.0.5" leak_tracker_testing: dependency: transitive description: @@ -530,7 +530,7 @@ packages: dependency: transitive description: flutter source: sdk - version: "0.0.0" + version: "0.0.99" source_span: dependency: transitive description: @@ -591,10 +591,10 @@ packages: dependency: transitive description: name: stack_trace - sha256: "9f47fd3630d76be3ab26f0ee06d213679aa425996925ff3feffdec504931c377" + sha256: "73713990125a6d93122541237550ee3352a2d84baad52d375a4cad2eb9b7ce0b" url: "https://pub.dev" source: hosted - version: "1.12.0" + version: "1.11.1" stream_channel: dependency: transitive description: @@ -607,10 +607,10 @@ packages: dependency: transitive description: name: string_scanner - sha256: "688af5ed3402a4bde5b3a6c15fd768dbf2621a614950b17f04626c431ab3c4c3" + sha256: "556692adab6cfa87322a115640c11f13cb77b3f076ddcc5d6ae3c20242bedcde" url: "https://pub.dev" source: hosted - version: "1.3.0" + version: "1.2.0" sync_http: dependency: transitive description: @@ -639,10 +639,10 @@ packages: dependency: transitive description: name: test_api - sha256: "664d3a9a64782fcdeb83ce9c6b39e78fd2971d4e37827b9b06c3aa1edc5e760c" + sha256: "5b8a98dafc4d5c4c9c72d8b31ab2b23fc13422348d2997120294d3bac86b4ddb" url: "https://pub.dev" source: hosted - version: "0.7.3" + version: "0.7.2" typed_data: dependency: transitive description: @@ -679,10 +679,10 @@ packages: dependency: transitive description: name: vm_service - sha256: f6be3ed8bd01289b34d679c2b62226f63c0e69f9fd2e50a6b3c1c729a961041b + sha256: "5c5f338a667b4c644744b661f309fb8080bb94b18a7e91ef1dbd343bed00ed6d" url: "https://pub.dev" source: hosted - version: "14.3.0" + version: "14.2.5" web: dependency: transitive description: @@ -695,10 +695,10 @@ packages: dependency: transitive description: name: webdriver - sha256: "3d773670966f02a646319410766d3b5e1037efb7f07cc68f844d5e06cd4d61c8" + sha256: "003d7da9519e1e5f329422b36c4dcdf18d7d2978d1ba099ea4e45ba490ed845e" url: "https://pub.dev" source: hosted - version: "3.0.4" + version: "3.0.3" win32: dependency: transitive description: diff --git a/photos/r8mix.png b/photos/r8mix.png new file mode 100644 index 0000000000000000000000000000000000000000..c38a22915bd3a04766b6de220a3d5148802ab98d GIT binary patch literal 49539 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%0Dk}*VWTSU0foE^ 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 J3LokF{VyeH-OK<0 literal 0 HcmV?d00001 -- Gitee From a28af4eaaff4376f42f7e3f2aaedbdb5cc7a9e45 Mon Sep 17 00:00:00 2001 From: JeromeTseng Date: Wed, 25 Dec 2024 11:06:32 +0800 Subject: [PATCH 2/2] =?UTF-8?q?update:=20=E8=B0=83=E6=95=B4=E6=96=87?= =?UTF-8?q?=E6=A1=A3=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 47 +++++++++++++---------------------------------- 1 file changed, 13 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index f58027c..da42c0c 100644 --- a/README.md +++ b/README.md @@ -45,16 +45,12 @@ v3.0.0 同时支持根据广播行为手动注册广播监听PDA扫码 ``` -** -_可先 [下载](https://gitee.com/zengxingshun/flutter_plugin_pda_scanner/releases/download/V3.0.0/pda_scanner-V3.0.0.apk) -示例 app 进行测试,如需要集成 native 方式扫码的 PDA,请加我微信反馈,欢迎 fork 及 pr 。_** +**_可先 [下载](https://gitee.com/zengxingshun/flutter_plugin_pda_scanner/releases/download/V3.0.0/pda_scanner-V3.0.0.apk) 示例 app 进行测试,如需要集成 native 方式扫码的 PDA,请加我微信反馈,欢迎 fork 及 pr 。_** | | | | |:--------------------------------------------------:|:--------------------------------------------------------:|:-----------------------------------------------------------:| -➡ * -*如果是集成蓝牙扫码枪/USB扫码枪,请移步至另一个优秀开源库:[liyufengrex/flutter_scan_gun: flutter:usb 即插款扫码枪通用方案。](https://github.com/liyufengrex/flutter_scan_gun) -** +➡ **如果是集成蓝牙扫码枪/USB扫码枪,请移步至另一个优秀开源库:[liyufengrex/flutter_scan_gun: flutter:usb 即插款扫码枪通用方案。](https://github.com/liyufengrex/flutter_scan_gun)** # 二、使用方式 📔 @@ -87,10 +83,7 @@ void main() async { } // 监听事件 可以监听多个事件 用tag进行区分 -PdaUtils.on -("tag -" -, (barcode) { +PdaUtils.on("tag", (barcode) { // 接收回调的条码... }); @@ -102,15 +95,7 @@ PdaUtils.off("tag"); ```dart // 传入广播action 和要获取的数据标签 label -await -PdaUtils.initByCustom -("com.action.scannersrvice.... -" -, -" -data -" -); +await PdaUtils.initByCustom("com.action.scannersrvice....","data"); // 监听事件 可以监听多个事件 用tag进行区分 PdaUtils.on("tag", (barcode) { @@ -121,13 +106,9 @@ PdaUtils.on("tag", (barcode) { PdaUtils.off("tag"); ``` -🔷 ** -_这里的tag相当于一个id,每个界面定义一个唯一的标识,相当于标记哪个界面监听了扫码事件,页面销毁时也根据这个id取消监听,避免内存泄漏。_ -** +🔷 **_这里的tag相当于一个id,每个界面定义一个唯一的标识,相当于标记哪个界面监听了扫码事件,页面销毁时也根据这个id取消监听,避免内存泄漏。_** -🔷 ** -_条码内容会经过处理,首尾的空白字符(换行符、制表符、空格)都会被替换成空字符串,但是字符中间的空白字符不会替换_ -** +🔷 **_条码内容会经过处理,首尾的空白字符(换行符、制表符、空格)都会被替换成空字符串,但是字符中间的空白字符不会替换_** ## 4. Api详情 @@ -239,25 +220,23 @@ class _MyHomePageState extends State { # 三、额外说明【斑马ZEBRA】 ⚡ -** -_ZEBRA(斑马)的PDA发生闪退或其他情况则需要做以下额外配置,您需要在您Flutter项目的安卓目录下的 -AndroidManifest.xml中加入以下内容_** +**_ZEBRA(斑马)的PDA发生闪退或其他情况则需要做以下额外配置,您需要在您Flutter项目的安卓目录下的 +AndroidManifest.xml 中加入以下内容_** ### 1、在 `manifest` 节点下加入 ```xml - - - + + + ``` ### 2、在 `application` 节点下加入 ```xml - - + + ``` ### 3、在项目\android\app下新建 libs 文件夹 -- Gitee