1

.jarをEclipseAndroidプロジェクトにインポートしました(libsフォルダーにインポートし、Javaビルドパスのライブラリにjarを追加しました)が、それを使用しようとすると、java.lang.VerifyErrorが発生します。ライブラリはJiwigo0.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を使用するようになりました。jarファイルはここにあります:http://maven.le-guevel.com/artifactory/libs-release-local/fr/mael/jiwigo/jiwigo-ws-api/0.2b/

私が言ったように、私は今日の午後に変更を加えたばかりで、それをあまりよくテストしなかったので、不安定になる可能性があります(私のプロジェクトでは機能しているようです)。

さよなら。

于 2011-03-27T16:31:41.567 に答える
2

何か案は?

SessionManagerAndroidに存在しないクラスまたはメソッドを使用しています。これが問題のクラスのソースであると仮定すると、Androidで動作する方法はありません。これは、次のように大幅に変更する必要があります。

  • 古いバージョンのApacheHttpClient
  • JDOM

どちらもAndroidにはありません。

于 2011-03-24T00:47:25.450 に答える
0

Android ADTとJavaのアップデートを行った後、プロジェクトで同様の問題が発生しました。

これらの手順を試してください

  1. Androidプロジェクトの外部ライブラリへのリンクを削除します。

  2. すべての外部ライブラリ(Google広告ライブラリを含む)をAndroidプロジェクト内の\libsフォルダーに移動します。

  3. Project\libsディレクトリにあるライブラリを再リンクします。

うまくいけば、これが役立つでしょう

于 2012-06-15T13:30:17.750 に答える