18

複数のdexの問題が以前に何度も報告されていることは知っていますが、私の場合はどの解決策もうまくいかないようです。

コンソール:

    Unable to execute dex: Multiple dex files define Lbolts/AggregateException;
    Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lbolts/AggregateException;

一般的な解決策の 1 つは、ビルドパスから「Android プライベート ライブラリ」コンテナーのマークを外すことです。そのコンテナには必要なライブラリがさらにいくつかあるため、それはできません。

別の解決策は、.jar 形式で明示的に追加された重複ライブラリのマークを外すことです。そのようなライブラリはありません。

私の場合の重複ライブラリは次のとおりです。android-support-v7-appcompat.jar これらの2つのコンテナに(sdkフォルダーから直接参照されています)あります:

1.) Android プライベート ライブラリ

2.) Android の依存関係

問題は、これらの 2 つのコンテナーのいずれにも完全にチェックを外すことができないことです。これらのコンテナーには、他の必要なライブラリが含まれているためです。しかし、どちらのコンテナからも、この重複した .jar ファイルだけを削除することはできません。

編集: NB android-support-v7-appcompat library_project をプロジェクトに追加すると、両方のコンテナーに入ります。1つだけになるように、何らかの方法があるに違いありません。

どうすればそれを行うことができますか?

スクリーンショット

スクリーンショット2 (削除できません)

4

4 に答える 4

23

解決済み

bolts-androidライブラリはここで本当の問題でした。競合を引き起こす2 つの異なるバージョンがありました。FacebookSDK図書館がbolts-android-1.1.2もたらし、android-support-v7-appcompatもたらすbolts-android-1.1.4

FacebookSDKを含むライブラリ プロジェクトの Android Private Libraries コンテナのマークを外しましたbolts-android-1.1.2。その結果、私のプロジェクトには 1 つのバージョンしかなくbolts-android-1.1.4、競合が解決されました。現在は問題なく動作しています。

また、重複したandroid-support-v7-appcompatエントリは問題ではありませんでした。

于 2014-12-29T20:43:48.847 に答える
7

最近、反応ネイティブ プロジェクトでこれに遭遇しました。プロジェクトの Android フォルダに移動できます。ターミナルでこのコマンド「./gradlew app:dependencies」を押して、依存関係ツリーを表示します。facebook sdk の下に android ボルト用の 2 つのパッケージが見つかりました。このパッケージを facebook SDK から除外すると、再び正常に動作します

compile ('com.facebook.react:react-native:+') {
   exclude group: 'com.parse.bolts', module: 'bolts-tasks'
}
于 2016-08-20T14:16:34.923 に答える
1

反応バージョンが 0.31.0 に更新されたので、うまく統合com.facebook.fresco:animated-gif:0.10.0したいcom.parse.bolts場合は、次のようにすることができます。

 compile ('com.facebook.react:react-native:+') {
    exclude group: 'com.parse.bolts', module: 'bolts-tasks'
}
compile ('com.facebook.fresco:animated-gif:0.10.0'){
    exclude group: 'com.parse.bolts', module: 'bolts-tasks'
}
于 2016-11-03T09:53:02.290 に答える