web-dev-qa-db-ja.com

dexを実行できません:複数のdexファイルがLbolts / AggregateExceptionを定義しています

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

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

誰かが私がそれをどのように行うことができるか私を助けることができますか?

screenshot

screenshot2 (unable to delete)

18
Abdul Wasae

[〜#〜]解決済み[〜#〜]

bolts-Androidライブラリはここでの本当の問題でした。 2つの異なるバージョンがあり、競合が発生していました。 FacebookSDKライブラリはbolts-Android-1.1.2をもたらし、Android-support-v7-appcompatbolts-Android-1.1.4をもたらします。

bolts-Android-1.1.2を含むFacebookSDKlibraryプロジェクトのAndroidプライベートライブラリコンテナのマークを外しました。その結果、私のプロジェクトにはbolts-Android-1.1.4という1つのバージョンしかなく、競合を解決しました。今は問題なく動作します。

また、重複したAndroid-support-v7-appcompatエントリは問題ではなかったことが判明しました。

23
Abdul Wasae

最近、react Nativeプロジェクトでこれに遭遇しました。プロジェクトのAndroidフォルダーに移動し、ターミナルでこのコマンド「./gradlewapp:dependencies」を押して依存関係ツリーを表示できます。i Android Bolts under facebooksdkの2つのパッケージが見つかりました。このパッケージをfacebooksdkから除外すると、問題なく動作します。

compile ('com.facebook.react:react-native:+') {
   exclude group: 'com.parse.bolts', module: 'bolts-tasks'
}
7
Hassan Gilak

これは、Facebook SDKをAndroidに追加するときに発生する可能性があり、次の方法で解決できます。

compile ("com.facebook.Android:facebook-Android-sdk:4.1.0") {
    exclude group: 'com.parse.bolts', module: 'bolts-Android'
}
3
maraujop

reactバージョンが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'
}
1
fantianwen