LoginSignup
3
0

More than 5 years have passed since last update.

Unityのandroidバイナリのgradleビルドで、DexArchiveMergeExceptionが出た時の対処法

Posted at

はじめに

UnityのAndroid gradleビルドで下画像のようなDexArchiveMergeExceptionが出た時の
対処法を示します。
unitybuildfailer.png

なぜこのエラーが出るのか

Unityで色々なpluginなどを入れていくと、プラグイン用のgradleのファイルであるmainTemplate.gradleなどに書いてあるダウンロードモジュールと、他のpluginのjarファイルや、たのgradleファイルのテンプレートと衝突してしまうことが起こり、このエラーが起きてしまうようである。

解決方法

  • 手順1
    Unityでビルドする際、Build Settingのところで、Export Projectにチェックを入れ Android Studio用のプロジェクトを生成する スクリーンショット 2019-04-11 22.25.01.png
  • 手順2
    Android Stdudioで先ほど出力したプロジェクトを開いておく、Android StuidoのPreferencesのところでKotlin Compilerの所を選択し 下の画像のように
    Additional command line parameters
    --info
    -stacktrace
    を追加する スクリーンショット 2019-04-11 22.31.17.png
  • 手順3
    手順2で開いていたプロジェクトをMake Projectでビルドすると下の画像のようなエラー(今回の場合は、support.v4ライブラリが原因であったことがわかる)が表示され、モジュールが多重定義されていたことがわかる。 スクリーンショット 2019-04-11 22.05.31.png
  • 手順4
    Unityのほうに戻り、mainTemplateを編集するなり、重複しているjarなりaarなりを削除する。

終わりに

今回のAndroid Stduioのほうにビルドでしてみてエラーを解決する方法は、他のエラーを除去
するテクニックにも使えるかもしれません。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0