java.lang.VerifyError on starIOport.jar from Star SDK



我已经将一个.jar导入到我的Eclipse Android项目中(将其导入到libs文件夹并将jar添加到Java Build Path中的库中(,但是当我尝试使用它时,我得到了java.lang.VerifyError。我正在使用的JAR库是starIOport.jar。它来自SDK,用于在安卓手机上使用移动打印机。它是由Star Micronics公司制造的。我的打印机是SM-T300,但这可能无关紧要,因为我甚至无法与打印机通信。每次到达对象时我都会收到错误,该对象的类从 jar 导入类。有谁知道,该怎么办?我还没有在互联网上的任何地方找到任何人用这个罐子来反驳这个特定问题。我不认为里面有一些与安卓不兼容的东西,因为它是为安卓设备制作的。在我的朋友安卓手机上也不起作用。甚至在模拟器中也没有。

链接到开发工具包。它是较新的版本,但我对这个版本也有同样的问题 http://www.starmicronics.com/absolutefm/absolutefm/?f=174。

这是我的日志

05-05 14:26:46.032: E/AndroidRuntime(3006): Caused by: java.lang.VerifyError: com.StarMicronics.StarIOSDK.PrinterFunctions
05-05 14:26:46.032: E/AndroidRuntime(3006):     at com.StarMicronics.StarIOSDK.StarIOSDKActivity.GetStatus(StarIOSDKActivity.java:71)

这就是导致它的线。这不是唯一的一个,每一行都对导入jar类的PrinterFunctions类执行某些操作,都会导致错误。

PrinterFunctions.CheckStatus(this, portName, portSettings);

自 r17 发布以来,库处理发生了变化,假设您使用的是此 ADT 版本或更高版本。

您也可以执行此操作来解决此问题:

  1. Java 生成路径>项目属性>顺序和导出
  2. 将 JAR 置于列表顶部

这是一篇很好的文章,可以参考从 r16 升级后的 JAR 问题:http://android.foxykeep.com/dev/how-to-fix-the-classdefnotfounderror-with-adt-17

最新更新