[Unity]’android.enableR8=false’ is deprecated.

Unity

環境

  • 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が簡単になったとはいえ、依存関係などで困ることはありますね。

コメント

タイトルとURLをコピーしました