0

私が抱えている状況は、Amazon AWS android libr jars(libsフォルダー内)を使用するAndroidプロジェクト(通常)があることです。最近、アウトバーン(https://github.com/tavendo/AutobahnAndroid)のクローンを作成し、このライブラリプロジェクトを自分で使用しています。問題は、Amazonライブラリがjacksonを使用し、awsjarコアjarに含まれていることです。アウトバーンにもその依存関係があるため、apkを生成するときに次の例外が発生します。

java.lang.IllegalArgumentException:すでに追加されています:Lorg / codehaus / jackson / Base64Variant;

アマゾンライブラリを変更できないので、アウトバーンプロジェクトにジャクソンライブラリの依存関係を自分のプロジェクトに「エクスポート」しないように指示する方法はありますか?

4

3 に答える 3

0

問題は、Amazonライブラリがjacksonを使用しており、awsjarコアjarに含まれていることです。

::不平を言う、不平を言う::

アウトバーンプロジェクトに、ジャクソンライブラリの依存関係を自分のプロジェクトに「エクスポート」しないように指示する方法はありますか?

私が知っていることではありません。ただし、アウトバーンのフォークを代わりにAWS JARに依存させて、Jacksonの独自のコピーを削除することもできます。ただし、Amazonに組み込まれているJacksonが完全で、Autobahnと互換性があることを前提としています。

于 2012-09-20T16:30:26.760 に答える
0

https://autobahn.s3.amazonaws.com/android/autobahn-0.5.0.jarのJARは、アウトバーンクラスのみを備えた純粋なライブラリであり、Jacksonへの参照はありません。

アーカイブhttps://autobahn.s3.amazonaws.com/android/autobahn-0.5.0.zipには、便宜上、アウトバーンとジャクソンの両方のJARが含まれています。

GitHubのアウトバーンソースを使用している場合、プロジェクトファイル(および例など)が含まれ、Jacksonへの依存関係が設定されます。

リポジトリ内のAutobahnディレクトリに移動して、を実行することにより、ソースから独自のJARを構築できますant jar。次に、そのJARのみをプロジェクトに配置します。それはうまくいくはずです。

于 2012-09-20T17:28:43.667 に答える
0

dexを実行できないという非常によく似た問題がありました。複数のdexファイルがGoogleドライブAPIとGoogleスプレッドシートAPIを使用してLorg/codehaus / jackson/Base64Variantを定義しています。これは役立つかもしれません。

通常のEclipse修正方法、クリーンアップ、再構築、Eclipseの開始/停止、新しいワークスペースなどをすべて試しました。

Eclipseを使用している場合、これが.jarを管理せずに解決した方法です。

1)Eclipseで、プロジェクトのプロパティを右クリックします

2)Javaコンパイラをクリックします

3)建物をクリックします

4)[ワークスペース設定の構成]をクリックします

5)[プロジェクト固有の設定を有効にする]をクリックします

6)出力フォルダをクリックします

7)[他のユーザーによって変更されたクラスファイルを再構築する]をクリックします

お役に立てれば。

于 2013-06-29T21:11:50.057 に答える