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')}
java.lang.NoClassDefFoundError:com.sample.zebrascanengine.BarcodeScannerEngine ...
所以,我的问题是我是否做了一些根本错误的事情,因为我不应该在手机上使用 EDMK?或者我错过了一些东西来消除错误?
Zebra 的 EMDK 只能在 Zebra 设备上使用。
可以有一个使用 EMDK 的应用程序在消费设备(例如您的 Samsung S6)上运行,但前提是您避免对 EMDK 库进行任何调用。
这个想法是,您的 MainActivity 需要检查 EMDK 库在设备上是否可用,并且只有在此时您才实例化 BarcodeScanEngine 类。
您可以在 Zebra 的 EMDK 参考指南中找到更多相关信息。
免责声明:我在 Zebra Technologies 工作。