1

我已将 .jar 导入到我的 Eclipse Android 项目中(将其导入 libs 文件夹并将 jar 添加到 Java 构建路径中的库中),但是当我尝试使用它时,我得到一个 java.lang.VerifyError。该库是 Jiwigo 0.13.1.1;一个用于访问 Piwigo 图片库的 java 库。我知道这应该可行,因为有一个名为 RegalAndroid 的开源 android 项目也使用它(尽管是旧版本,它复制了源代码而不是正确导入它)。.jar 是我计算机上库的唯一副本,所以如果这是版本冲突错误,我会感到惊讶。有任何想法吗?

这是我的错误日志(缩短了,因为其余的都是正常的 android 东西):

FATAL EXCEPTION: main
java.lang.VerifyError: fr.mael.jiwigo.transverse.session.SessionManager
at com.terrapages.itemdetailsactivities.FavoritesDetailsActivity.initViews(FavoritesDetailsActivity.java:179)
at com.terrapages.itemdetailsactivities.FavoritesDetailsActivity.onResume(FavoritesDetailsActivity.java:83)
at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1149)
at android.app.Activity.performResume(Activity.java:3823)
at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3118)
[...]

它崩溃的那一行(代码中的虚拟字符串值不同):

SessionManager sessionManager = new SessionManager("username", "password", "gallery-url");

这是代码中任何地方首次使用该库。

4

3 回答 3

3

我是 Jiwigo 的开发者,今天下午偶然看到了这篇文章。由于我不是在 Android 上开发,我什至不知道我的 api 与 android 不兼容。

所以在我阅读这篇文章之后,我对我的 API 进行了一些更改:我用最新版本替换了旧的 Apache HttpClient 版本:4.1(我认为它与 android 兼容,不是吗?)我删除了所有 JDom 引用。该代码现在改用 org.w3c.dom.Document。罐子在这里:http ://maven.le-guevel.com/artifactory/libs-release-local/fr/mael/jiwigo/jiwigo-ws-api/0.2b/

正如我所说,我今天下午刚刚进行了修改,并没有很好地测试它,所以它可能不稳定(它似乎在我的项目上工作)。

再见。

于 2011-03-27T16:31:41.567 回答
2

有任何想法吗?

SessionManager正在使用 Android 中不存在的类或方法。假设这是有问题的类的来源,没有实质性修改就无法在 Android 上运行,因为它使用:

  • 旧版本的 Apache HttpClient
  • JDOM

两者都不在Android中。

于 2011-03-24T00:47:25.450 回答
0

在进行 Android ADT 和 Java 更新后,我的项目也遇到了类似的问题。

试试这些步骤

  1. 在您的 Android 项目中删除指向您的外部库的链接。

  2. 将所有外部库(包括 Google Ad 库)移动到 Android 项目中的 \libs 文件夹。

  3. 重新链接您的库,这些库现在存在于 Project\libs 目录中。

希望这会有所帮助

于 2012-06-15T13:30:17.750 回答