diff --git a/README.md b/README.md index 9c06b151ccee3308055e8f8b59331a924b6dbdcc..da42c0cc76957f9837297344320a0463f2adb602 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 @@ -47,12 +48,10 @@ **_可先 [下载](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)** - - # 二、使用方式 📔 ## 1. 安装 @@ -62,8 +61,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,15 +81,16 @@ void main() async { await PdaUtils.init(); runApp(const MyApp()); } - + // 监听事件 可以监听多个事件 用tag进行区分 PdaUtils.on("tag", (barcode) { - // 接收回调的条码... +// 接收回调的条码... }); // 取消tag上的监听 PdaUtils.off("tag"); ``` + * ### 手动初始化 ```dart @@ -99,7 +99,7 @@ await PdaUtils.initByCustom("com.action.scannersrvice....","data"); // 监听事件 可以监听多个事件 用tag进行区分 PdaUtils.on("tag", (barcode) { - // 接收回调的条码... +// 接收回调的条码... }); // 取消tag上的监听 @@ -165,7 +165,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 +218,36 @@ 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 +257,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 8f7af7c894ab36fcf60c0d4c8c1703723931eb40..fee6d143dcd59bc318f47de3e8ddb9190d20ab3d 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 Binary files /dev/null and b/photos/r8mix.png differ