環境
- Unity2021(LTS)
JDK, NDK, SDK, gradleは全てUnity推奨のデフォルトを使用 - Google Mobile Ads Unity Plugin v7.2.0
- Minimum API Level : API level 24
- Target API Level : API level 33
Androidビルド時にエラーが出たので、いくつか試した対処を備忘録として残します。
あとビルド成功したのに、アプリが起動直後でクラッシュしていた問題もありました。
変更箇所
①PlayerSettingsの見直し
特に以下のTargetArchitecturesがARM64のみチェックが入っていることを確認してください。
②gradle, propertiesの見直し
見直しが必要だと思うのは2ファイルです。
- launcherTemplate.gradle
- gradleTemplate.properties
launcherTemplate.gradleのminifyEnabledをコメントアウト
buildTypes { debug { // minifyEnabled **MINIFY_DEBUG** proguardFiles getDefaultProguardFile('proguard-android.txt')**SIGNCONFIG** jniDebuggable true } release { // minifyEnabled **MINIFY_RELEASE** proguardFiles getDefaultProguardFile('proguard-android.txt')**SIGNCONFIG** }
minifyEnabled は最適化するものなので、基本はあったほうがいいと思います。
……が、ダメなときはダメなんです。(以下リンク参照)
gradleTemplate.propertiesのandroid.enableR8をコメントアウト
# android.enableR8=**MINIFY_WITH_R_EIGHT**
たぶんR8の問題だけならこれでいいはず。
難読化なので、これもあったほうがいいとは思います。
今回は壁にぶち当たったのでこれを無くしています。
③AndroidManifestの見直し
ケアレスミスがありました。
これも原因の一つだったと思います。
AndroidManifestのpackage名は重複するとエラーになります。
下記エラーが出てるときは見直してみてください。
Could not determine the dependencies of task
私のミスがあったせいで、
R8関係なかった可能性も大いにあり得えますが、
R8のエラーが出ていたので参考になれば幸いです。
まとめ
Buildが簡単になったとはいえ、依存関係などで困ることはありますね。
コメント