2013-03-13 9 views
36

私のアプリはライブラリプロジェクトによって異なります。このライブラリプロジェクトは、Android Compatibility Package V4に依存しています。私はを持っていませんは、ライブラリプロジェクトの依存関係をエクスポートしました。私自身のプロジェクトでは、ACL V13を依存関係として追加しましたが、コンパイル時には基本的に依存関係が重複しているというエラーが発生します。私は、図書館プロジェクトの依存関係を輸出してもこの問題は解決しないと考えましたが、そうではありません。Android Dex:予期しないトップレベル例外:既に追加されています

どうすれば解決できますか?

EDITまた

Android tools docsに従って:アンドロイド-支持v4.jarとAndroid-支持v13.jarため

専用ケース。

-v13には フルバージョンの-v4が含まれているため、これらの2つのライブラリには特別なケースがあります。両方が見つかった場合は、-v13のみが になります。

だから、

それだけで動作するはずです...

+0

詳細なトレースはありますか?それはどのクラスがすでに追加されているかを言及する必要があります。 –

+0

あなたはEclipseまたはintelijアイデアを使用していますか? –

+0

@vmerror、intellij、Android Dex:[abc] java.lang.IllegalArgumentException:既に追加されています:Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat; – LuxuryMode

答えて

19

異なるプロジェクト(libsプロジェクトまたは標準プロジェクト)でまったく同じlib jarを使用すると、apkツールは複製されたものを自動的に取り除きます。

同じリビジョンではなく同じ名前の2つのライブラリがあると、問題が発生します。

android-support-v4.jar and android-support-v13。(http://developer.android.com/tools/extras/support-library.html#Notes

メインプロジェクトとlibプロジェクトでサポートライブラリの同じリビジョンを正確に使用していることを確認します。

必ず、2つのサポートライブラリjars(android-sdkフォルダにある)をプロジェクトのlibsフォルダにコピーしてください。

{android-sdk}/extras/android/support/v4/android-support-v4.jar 
AND 
{android-sdk}/extras/android/support/v13/android-support-v13.jar 

問題を取り除く必要があります。

+1

これは私にとっては役に立たなかった。 user1834249の答えがこの問題を解決する解決策です。すべてのモジュールがandroid-support-v4.jarを取得するために使用する共通ライブラリを作成することで、IntelliJ/dexは同じことを認識します。これはおそらく、IntelliJとdexコンパイラの統合によるバグだと思います。 – kevinmrohr

3

まあ、私は、同じであったモジュールの依存関係を削除するライブラリに追加し、依存性として各モジュールには、このライブラリを追加しなければならなかった私の話に。だから、

  • モジュール:アンドロイド-V4に依存(と、それはlibフォルダ年代にそれを持っている)
  • モジュールB:アンドロイド-V4に依存(と、それはlibフォルダ年代にそれを持っています)

    1. 「android-v4」プロジェクトのライブラリに追加します(例:最初のモジュールから)。モジュールb libフォルダでそれを削除します。

    2. は、各モジュールの依存関係に追加モジュールAとAndroid-V4のB依存性に

    3. 削除 - >ライブラリ - (あなたは2ステップで作成)>アンドロイド-V4

私はそれが正しい解決策であるかどうかは分かりませんが、うまくいきます。

+0

私はこれを知っていたので、intellijのアイデアはこれほど悪かった – crossle

1

ライブラリの依存関係をv4からv13に変更してエクスポートしようとしましたか?

8

ライブラリからv4パッケージを削除します。

プロジェクトをクリーンアップします。

4

私の場合、libs /フォルダ内のJARのうちの1つを新しいバージョンに更新しました。

それはビルドを実行することでした解決するためにかかったすべて - >プロジェクトを再構築し、つまりは「assembleDebug」の前に「クリーン」タスクを発行するなど

0

時々、単にあなたがまた必要、v4のサポートライブラリが動作しません削除再構築するかプロジェクトを

関連する問題