NCMBとGoogleAdMobの競合によるビルドエラー解決法【2019年10月】
何番煎じか分からない項目なのですが、
シャキッとした答えが見つからなかった。
バージョンの違いで対応が違っていたので
現バージョンのパッケージで解決した方法をまとめときます。
パッケージのバージョン
・GoogleMobileAds・・・v4.0.0
・NCMB・・・v4.0.3
ビルドエラー時の状況
・NCMBパッケージを先にインポートする
→たぶんこれがビルドエラーの原因
・GoogleMobileAdsパッケージをインポートしてビルド
▼下図のエラー発生
UnityEditor.BuildPlayerWindow+BuildMethodException: 528 errors
CommandInvokationFailure: Gradle build failed.
今回行った対処法
NCMBパッケージでインポートした「Plugins -> Android」内のファイルを削除
ビルドエラーの原因は、ライブラリの競合にあるので
NCMBパッケージでインポートした
Pluginフォルダ内のファイルを削除して競合しないようにします。
◆削除するファイル名
・firebase-analytics-impl-16.0.0
・firebase-common-16.0.0
・firebase-iid-16.2.0
・firebase-iid-interop-16.0.0
・firebase-messaging-17.1.0
・play-services-base-15.0.1
・play-services-basement-15.0.1
・play-services-measurement-base-15.0.0
・play-services-tasks-15.0.1
・support-compat-26.0.2
・support-core-utils-26.0.2
・support-v4-26.0.2
ビルドしてみる
これで上手くビルドが出来ているはずです。
ビルドエラーが発生したとき、
パッケージを複数インポートした場合は
ライブラリの競合が発生している可能性が多々あると思います。
そういった場合は、
1.検証用に新規プロジェクト(AAA)を作る
2.エラーの出るプロジェクトに入れたパッケージを(AAA)に入れる
3.インポートした「Plugins」フォルダのファイルを
パッケージごとに消していきエラーが回復するか確認する
このやり方で、競合するファイルが何か判別できると思います。