技術ブログ

【Unity】Androidでビルドしようとすると起きる「launcher:checkReleaseDuplicateClasses」の解消

エラー内容

メッセージ

ある日UnityでAndroidアプリをビルドしようとすると以下のようなエラーが発生して書き出しに失敗した。

エラー800個て…どういうことやねん…

環境

OS:macOS Big Sur 11.0.1
Unity:2019.4.2f1

iOSアプリとしてビルドする分にはエラーは発生しないのでアプリ自体ではなくAndroidビルドに問題がある模様。

エラーの概要

エラーメッセージを翻訳してみるとこんな感じ、

check release duplicate classes
重複しているクラスを確認してください。

どうやらクラスが重複しているらしい。

そして下段に続く800ものエラーメッセージはその重複しているクラスを教えてくれている模様。

解消方法

Duplicate class〜から始まるエラーメッセージをクリックすると以下のように説明してくれる。

Duplicate class androidx.core.provider.FontsContractCompat$3 found in modules classes.jar (:androidx.core.core-1.0.0:) and classes.jar (:core-1.1.0:)

赤マーカで示した部分である「androidx.core.core-1.0.0」と「core-1.1.0」で「androidx.core.provider.FontsContractCompat」というクラスが重複しているらしい。
「core-1」で検索をかけてみると確かに二つのファイルが出てきたので、思い切ってバージョンが小さい方(今回はandroidx.core.core-1.0.0)を消してみることにした。

そして他のエラーメッセージも同じような内容だったので、全てバージョンが小さそうな方を消していってもう一度ビルドしてみる。

…無事ビルド成功!やったね!

原因の考察

AdMobやNCMB,アドフリくんなど様々なプラグインをインポートする中でどこかの2つでバージョン違いの同機能のものが入ってしまったと思われる。

↓役に立ったらシェアしてね↓