[Unity] android sdk api level 34対応

Unity Hub内でインストールできる2022.3では対応難しい。

2022.3.40f1で、API level 34を選択すると、もっと大きいバージョンをインストールしようとしてバグります。
がんばればどうにかいけるようだけど、この問題はこのあとのバージョンで改善された模様。

Unity 2023以降は、LTSとはなっていなくて、Webサイトからインストールしないといけないようだ。LTSは、Long-Term Supportとして安定版の意味合い。

android api 34以降に対応するには、Unity 2023以降が必須。

UnityのWebサイトから2023をインストールする。
Unity ダウンロードアーカイブ

2023の最終版 2023.2.20f1 をインストール。インストール後はUnity Hub内で扱える。
対象プロジェクトをバックアップ後、EDITOR VERSIONを上げる。

2022→2023に上げたプロジェクトは、Deprecatedになっていたパッケージ(Visual Studio Editor)をひとつRemoveしたくらいで、とくに問題はなかった。

Android API level 34にする


Player SettingsのTarget API Levelを34に
ここで指定しているMinimum APIは現状のAdMobの最低Levelなので、その他利用しているSDK、実機で確認できるかにもよります。

実機を繋げてBuild And Runをすると、ダイアログが出る。
Update Android SDKを選択すると自動的にSDKがインストールされる。

2022→2023に上げた直後だからか、これだけでは実機インストールに失敗します。

こういう時はPublishing SettingsのBuildのチェックボックスをつけ直すと、うまくいく場合がよくあります。

Assets/Plugins/Androidに、DISABLEDのファイルがあれば最初に削除。

Publishing SettingsのBuild、一番上のMain Manifest以外のチェックボックスを外します。

その後、開いているプロジェクトウィンドウを選択すると Gradle templetesを有効にするかのダイアログが表示される。

Enableを選択すると、必要な箇所が自動選択されます。
もしGradleの内容を自分でカスタムしていた場合は、その内容も追記する必要はあります。

これでビルド通ります。きっと。

AdMob広告を利用するプロジェクトでは、Custom Main Manifestにし、AD_IDのパーミッションの追記がいるはずです。

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest
    xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.unity3d.player"
    xmlns:tools="http://schemas.android.com/tools">
    <uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
〜〜〜
スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする