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工作。