1

ここに私のエラーがあります:

UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Lorg/codehaus/jackson/Base64Variant;
Conversion to Dalvik format failed with error 1

さて、5分前はうまくいきました。何も変更しませんでした ( Android エミュレーターを再度起動しただけです)。

みんなありがとう。

4

3 に答える 3

2

dxツールチェーンは、Jackson JSON パーサーの複数のコピーを呼び出しています。プロジェクト ライブラリに Jackson の 2 つのコピーが含まれていないことを確認する必要があります。個々の jar ファイルに Jackson と が含まれているかどうかを確認できjarますgrep

jar tvf lib/some-library.jar | grep jackson
于 2011-05-10T15:48:21.483 に答える
0

インポートしていた外部 jar が原因で、同じエラーが発生しました。外部 jar には、すべてのクラスのエントリが重複していることが判明しました。解決策は、ant ビルド ファイルのjar要素にduplicate="preserve"を指定して、外部ライブラリの jar ファイルを再作成することでした(外部ライブラリの完全なソースにアクセスできました)。

<jar destfile="${buildlib}/external.jar" manifest="${lib}/external.manifest" basedir="${dest}" duplicate="preserve">

Ant ビルド ファイルにアクセスできない場合は、手動で jar ファイルを un-jar し、重複を削除して、再度 jar することができます。

于 2011-09-09T12:50:29.193 に答える
0

Unable to execute dex: Multiple dex files define Lorg/codehaus/jackson/Base64Variant using Google Drive api's and Google Spreadsheet api's で非常によく似た問題がありました。

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

Eclipse を使用している場合、.jar を管理しなくてもこのように解決できました。

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

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

3) 建物をクリック

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

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

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

7) 「他のユーザーが変更したクラス ファイルを再構築する」をクリックします。

お役に立てれば。

于 2013-06-29T21:06:15.737 に答える