外部 JAR で「Dalvik 形式への変換がエラー 1 で失敗しました」というメッセージが表示される 質問する

外部 JAR で「Dalvik 形式への変換がエラー 1 で失敗しました」というメッセージが表示される 質問する

Eclipse の Android アプリケーションで次のエラーが発生します。

予期しないトップレベル例外:
java.lang.IllegalArgumentException: すでに追加されています: Lorg/xmlpull/v1/XmlPullParser;
....
Dalvik 形式への変換がエラー 1 で失敗しました

このエラーは、特定の外部 JAR ファイルをプロジェクトに追加した場合にのみ表示されます。 長い間、解決策を探しましたが、どれもうまくいきませんでした。

Android 1.5 (現在使用しているバージョン) ではなく、Android 1.6 に変更しようとしました。

ベストアンサー1

プロジェクト » プロパティ » Java ビルド パス » ライブラリ に移動して、「Android XY」(私の場合は Android 1.5) 以外のすべてを削除します。[OK] をクリックします。プロジェクト » クリーン » 以下で選択したプロジェクトをクリーンアップ に移動して、プロジェクトを選択し、[OK] をクリックします。これで動作するはずです。

また、プロジェクト フォルダーのどこかに JAR ファイルがあり (Admob JAR ファイルを src フォルダーにコピーしました)、それを Java パス ライブラリとして追加した可能性もあります。パッケージ エクスプローラーには表示されないため、気付かないでしょうが、2 回カウントされ、恐ろしい Dalvik エラー 1 が発生します。

他に考えられる原因としては、パッケージ名の競合が考えられます。パッケージと、このパッケージ内にcom.abc.xyzという名前のクラスがあり、同じ を含む別のライブラリ プロジェクト (このプロジェクトの依存関係に追加される) があるとします。この場合も、まったく同じエラーが発生します。つまり、同じファイルへの参照が複数あり、適切にビルドできないということです。A.javacom.abc.xyz.A.javaA.java

あるいは、誤ってまたは故意にクラスパス ファイル内の何かを手動で編集/追加した場合に、この問題が発生する可能性があります。場合によっては、Java ドキュメントを生成するために、クラスパス ファイルに android.jar パスを手動で追加することがあります。これを削除すると、Java ドキュメント生成後のコードが正常に機能します。それでも問題が発生する場合は、これも確認してください。

おすすめ記事