UnityでビルドしたAndroid向けアプリのAPKデータを、GooglePlayConsoleにてアプリのリリースをしようとしたら、
『API28以下のアプリはもう受け付けないので、API39以上、もしくは最新版にてビルドしてリリースしてください』
みたいな文言のエラーが出ました。
結論:
下記の手順を踏んだのち、
【Unity(windows版)】→【Edit内、Preference】→【Esternal Tools内、Android内、Android SDK Tools Installed with Unity(recommended)】のチェックを外した後、最新のSDKのパスを正しく参照してからビルドしたら、上手くビルドしてくれました。
ただし、これからも上手くいくかは分からないのであしからず。
手順:
➀
話はリリースしようとしてエラーが出た頃に戻りますが、
ともかくAPIはアプリをスマホ等に最適化させるインターフェイスらしいです。
通常ならば、
【Unity(windows版)】を開く→【Fileタブ内、BuildSetting】→【PlayerSetting】→【Play内、OtherSettings内、Identification内、『Minimum API Level』『Target API Level』】にて、使用するAPIのバージョンを選択できるようです。
とりあえず現在最新版?である『API Level 30』に設定してビルドすると、
Buil set to use Mininum SDK of 30 but the latest installed SDK on the system is 28. Please use the Android SDK Manager to install the minimum require SDK version. Resatrt Unity after SDK installation for the changes to take effect.(原文ママ)
ビルドは30のMininum SDKを使用するように設定されていますが、システムにインストールされている最新のSDKは28です。AndroidSDK Managerを使用して、最低限必要なSDKバージョンをインストールしてください。 SDKのインストール後にUnityを再インストールして、変更を有効にします。(翻訳)
とエラーがでました。
それを受けて、『Android Studio』にて『Android SDK Manager』なるものを起動し、APIの最新版のインストールを試みました。
『Android Studio Ver 4.0.1』では、起動時に立ち上がる画面の右下、歯車マークの【Configure】→【SDK Manager】をクリックすれば立ち上がるウィンドウの左側の欄から、【Android SDK内、SDK Platfarms】にて、様々なバージョンのAndroid SDKがチェックボックス付きで表示されます。
各バージョンのStatusという欄に、『Installed』『Not installed』などと表示されています。
最新版(数字の大きい順)が『Installed』になっていなければ、チェックマークを入れて『Apply』ボタンを押してください。
なんやかんやあってダウンロード、インストールが始まります。
そして意気揚々とビルドを実行しました。
が、
またもや同じようなエラーメッセージが出て、終了です。
➁
すると、
Unable to install addtional SDK platform. Please run the SDK Manager manually to make sure you have the latest set of tools and the requierd platforms installed. See the Console for details.(原文ママ)
追加のSDKプラットフォームをインストールできません。 SDK Managerを手動で実行して、最新のツールセットと必要なプラットフォームがインストールされていることを確認してください。詳細については、コンソールを参照してください。(翻訳)
とメッセージが表示されました。
いや、だからさっき手動でSDK更新したんだよ……
イラッとしつつ、紆余曲折あり、以下の事柄を試しました。
・Android Studioを最新版のものにする
・Unity Editorを最新のものにする
・Android Studio/ SDK内のtoolsというフォルダを一旦消去し、推奨されたものに置き換える
・Android Studio → Configure → Check for Update にて、アップデートできそうなツールをアップデートする
・Androidフォルダ内に、『repositories.cfg』というファイルを作る
以上の事を試しましたが、UnityはAPI30,29でのビルドを通してくれませんでした。
そして最後に試したのは、この記事。
https://unity-yuji.xyz/android-sdk-is-missing-required-platform-api/#comment-1412
結論で述べた通り、
【Unity(windows版)】→【Edit内、Preference】→【Esternal Tools内、Android内、Android SDK Tools Installed with Unity(recommended)】のチェックを外した後、最新のSDKのパスを正しく参照してからビルドしたら、上手くビルドしてくれました。
ただし今後ともうまくいくかどうか分からないので、不安ではありますが、無事API29以上でビルドでき、アプリを公開できたのでホッとしました。
以下は、この問題のために参照したサイトの一覧です。
https://developer.android.com/about/versions/10/setup-sdk?hl=ja
https://qiita.com/JunShimura/items/6c5f6f33fbdce0b9ba92
https://qiita.com/niusounds/items/bcbeee622b2114b4016e
https://developer.android.com/studio/intro/update
https://www.it-swarm.dev/ja/macos/%E3%80%8Candroid-repositoriescfg%E3%82%92%E3%83%AD%E3%83%BC%E3%83%89%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%81%A7%E3%81%97%E3%81%9F%E3%80%82%E3%80%8D/830631014/
この記事は、また同じ問題にはまった時のための備忘録として作成した意味合いが強いので、分かりにくい記事だったかもしれませんが、
本稿が同じ問題に詰まってしまった方の助けになれれば幸いです。