環境
Windows 10
Unityバージョン:2020.3.15f2
Android/iOS関係モジュールはUnity Hub経由で導入。
やったこと
【ゲーム作成】
- 2D Modileテンプレートでプロジェクト新規作成
- Unityプログラミング、実行(動作確認OK)
- player設定>iOS/Androidビルド時の.NETバージョンを4.xに変更
- apkビルド、実行(動作確認OK)
【Firebase導入】 - 公式サイトからfirebase_unity_sdk_8.1.0.zipをダウンロード、解凍。
- 一個ずつインポート…
❌ FirebaseFunctions.unitypackage
こいつをインポートしたら、コンパイル時エラー出まくる。
ビルドエラー対応
Configure project :launcher WARNING: The option setting 'android.enableR8=false' is deprecated
trueでもfalseでもだめです。その行をコメントアウトしないといけない。
【解決】Project Settings>Player>Android>Publish Settings>Build>Custom Gradle Properties Templateをチェック。表示されるファイルのR8該当行の先頭に#を追加▼
#android.enableR8=**MINIFY_WITH_R_EIGHT**
D8: Cannot fit requested classes in a single dex file (# methods: xxxxx > 65536) com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: The number of method references in a .dex file cannot exceed 64K.
【解決】Project Settings>Player>Android>Publish Settings>Build>Custom Launcher Gradle Templateをチェック。表示されるファイルに
build.gradle
android {
defaultConfig {
...
minSdkVersion 15
targetSdkVersion 28
multiDexEnabled true
}
...
}
dependencies {
implementation "androidx.multidex:multidex:2.0.1"
}
multiDexEnabled true
とimplementation "androidx.multidex:multidex:2.0.1"
を追加。
#launcher:checkReleaseDuplicateClasses
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':launcher:checkReleaseDuplicateClasses'.
> 1 exception was raised by workers:
Duplicate class com.google.android.gms.internal.firebase_messaging.zza
found in modules jetified-com.google.firebase.firebase-iid-20.0.1-runtime.jar
(:com.google.firebase.firebase-iid-20.0.1:)
and jetified-com.google.firebase.firebase-messaging-22.0.0-runtime.jar
(:com.google.firebase.firebase-messaging-22.0.0:)
......
【解決】firebase-iid最新バージョンを別途インストールする
#終わり