以前 Googleより「Google PlayにリリースするAndroidアプリは2019年8月までに64ビット対応しなさい」とのお知らせが届き Unityにて64ビット対応 を行いました。

Google PlayにリリースするAndroidアプリの64ビット対応(Unity使用)

そして、半年して次のようなメールがGoogleから届きました。

64ビット対応したつもりでしたが、まだ32ビットが含まれていたようです。
そして、2月1日で6カ月の延長期間は終了とのこと。と言うことで、急いで完全なる64ビット対応を行いました。
Unity_Error_26

In August 2019, we began requiring all apps using native code to provide a 64-bit version in addition to the 32-bit version when publishing to Google Play. One or more of your apps was granted a six-month extension until February 1, 2020.
Action required
Please review all of your apps for 64-bit compliance. After February 1st, the extension will expire and you will be unable to roll out non-compliant releases. No additional extensions will be granted.


【解決法】

本記事を全部読まなくても良いように、まず簡単に解決方法だけ記載します。

前回の64ビット対応時に「Scripting Backend」と「Target Architectures」の「ARM64」の対応をしました。

そして今回の原因は「Target Architectures」の「x86」がチェックされていることです。チェックを外してください
Build Settings > Player Settings > Other settingsのConfiguration
Unity_Error_27


【分析】

UnityのBlogでx86のサポートに関して述べられています。
Unity_Error_28
 
Android x86デバイスのユーザはあまり多くないので、Unityでは2019.2で非推奨、2019.3では完全に非対応になるとのこと。
Google Play Consoleで現在の自分のアプリの設定をみるとx86もターゲットとして含んでいます。これをUnityのPlayer Settingsではずすわけです。
Unity_Error_29

また、よくGoogleのガイドのUnityでの対応の部分を見てみると説明はないですが、さらっと「x86」を外してありましたね。
Unity_Error_30


【具体的な解決法】

以下は前回の64ビット対応の記事で行った部分も含んでいます。
対象のアプリのプロジェクトをUnityで立ち上げます。

File > Build Settings… より、Build Settingsの画面を表示させます。
Unity_Error_31

Player Settingsボタンをクリックして、Player Settingsスクリーンを表示させます。
(Androidの話をしていますので、既に Platformは Androidになっていることが前提となります。)
Unity_Error_32

Player Settingsの Other settingsの Configurationエリアを確認します。
前回の64ビット対応で以下の部分は変更済みですが、まだの場合は変更して下さい。
【Scripting Backend】: [IL2CPP] に設定します。
【Target Architectures】: [ARM64] チェックボックスをオンにします。

今回は以下の部分を追加で変更を行います。
【Target Architectures】: [x86] チェックボックスをオフにします。
Unity_Error_33

設定は終了しましたので、実機でテストを行います。

テストを行い問題がなければ、再度 Google Play Consoleよりリリースを行います。

Google Play Consoleにアプリをアップロード時に「重大な警告」が出るようになりました。X86をターゲットから外したのでインストール可能なデバイスが制限された訳ですね。「閉じる」でOKです。
Unity_Error_34

Unity_Error_35






Sponsored Link