1.我在清单文件上添加了以下行

<uses-library android:name="com.symbol.emdk" android:required="false" />


2.我根据我的目录路径添加了以下依赖项

dependencies {
provided fileTree(include: ['com.symbol.emdk.jar'], dir: 'C:\\Users\\<YOUR USER NAME>\\AppData\\Local\\Android\\sdk\\add-ons\\addon-symbol-emdk_v4.2_API-19\\libs')
compile fileTree(exclude: ['com.symbol.emdk.jar'], dir: 'libs')}



我已经按照下面的仓库(https://gist.github.com/esquijarosa/1c79059c8833f922af945fa0719fad80)添加了“ BarcodeScanEngine”类
现在,问题是当我在MainActivity类上为BarcodeScanEngine创建对象时,它给出运行时错误为



  java.lang.NoClassDefFoundError:com.sample.zebrascanengine.BarcodeScannerEngine ...


因此,我的问题是我是否在做一些根本错误的事情,因为我不应该在手机中使用EDMK?还是我错过了一些东西来消除错误?

最佳答案

Zebra的EMDK仅可在Zebra设备上使用。
可能有一个使用EMDK的应用程序在消费类设备(如Samsung S6)上运行,但前提是您避免对EMDK库进行任何调用。

想法是您的MainActivity需要检查EMDK库在设备上是否可用,并且仅在那时实例化BarcodeScanEngine类。

您可以在Zebra's EMDK reference guide中找到有关此信息的更多信息。

免责声明:我为Zebra Technologies工作。

07-26 02:17