Duplicate class android.support.v4.app.XXX found in modules classes.jar … というビルドエラー

UnityでAndroidビルドする際、以下のようなエラーが大量に出てきました。

Duplicate class android.support.v4.app.INotificationSideChannel$Stub found in modules classes.jar (:androidx.core.core-1.0.0:) and classes.jar (:support-compat-26.0.2:)

原因と解決方法

エラー文に「Duplicate class …」とあるように、クラスの重複が問題となっていました。

そこで、エラー文に書かれている2つのファイル(found in modules … and … の部分)のうち、バージョンが低い方のファイルを削除します。

「androidx.core.core-1.0.0」と「support-compat-26.0.2」に関してはまったく別物なのでは…?と思いましたが、とりあえずバージョンの低い「androidx.core.core-1.0.0」の方を消してみました。

使っているプラグインやバージョンによって異なるとは思うのですが、今回僕が消したのは以下の4つでした。
GoogleMobileAds-4.1.0とNCMB-4.0.0を使用していました。

  • androidx.core.core-1.0.0
  • play-services-basement-15.0.1
  • play-services-base-15.0.1
  • firebase-analytics-impl-16.0.0

これでビルドが通りました!

コメント