PhysifApps

趣味と開発メモ保管庫

apkをアップロードしたら「Google Play の 64 ビット要件に準拠していません」と警告が出る【Unity】

UnityでビルドしたapkのデータをGoogle Play Consoleにアップロードしたらこんな警告が出るようになった。

このリリースは Google Play の 64 ビット要件に準拠していません

以下の APK または App Bundle は 64 ビットのデバイスで利用できますが、32 ビット向けネイティブ コードしか含まれていません。226

2020年2月1日 以降、すべてのリリースが Google Play の 64 ビット要件に準拠していなければなりません。

(以下略)
こんな文面

「2020/2/1以降Google Playの64bit要件に準拠していなければなりません」との事だし、早めに対処しようと警告を消してみたのでやり方をメモ。

解決方法

PlayerSettings内の Configuration > Target Architectures にある項目の、

ARMv7とARM64にチェックが入った状態にして、x86のチェックが外れた状態にする。

ARM64の対応にはIL2CPPが必須なので、Scripting Backend を IL2CPPに変更することを忘れずに!

x86を切ると動かなくなる端末

x86のチェックを外してapkを生成したら動作しなくなる端末がいくつか出るみたいです。

実際に動作しなくなったのを確認したものもあるのでいくつか挙げます。個別にapkを作るか対処を考えた方が良さそうです。

Android Studioのシミュレータに関してはapkのインストールが出来なくなりました。

今までx86のチェックが入ってないと、apkをインストール出来ないって怒られてチェック入れていた所を、逆に外しに行ってるので当然ですが……

Unityもx86サポート廃止してた

もう少し調べてみたらx86ベースのAndroidについてこんな事も書いてありました。

x86 ベース Androidバイスの市場への供給は非常に限られたものであり、Unity の x86 ベース Android サポートの導入も非常に狭い範囲に留まったことが分かりました。このため、x86 ベースの Android サポートはバージョン 2019.2 をもって廃止となり、Unity 2019.3 をもって完全に削除されます。

blogs.unity3d.com

現状としてx86ベースの市場供給が限定的みたいなので、x86ベースAndroidサポートを2019.2で廃止、2019.3で完全削除されるようです。

その為、2019.2以降のバージョンのUnityを使っている場合はこの設定がおそらく不要となります。

というか最近プロジェクトを作った時に、デフォでx86のチェック外れてて、ビルド対象にならない設定になってなかったかな?と思っているが記憶が定かじゃない。

blogs.unity3d.com

もう一つ大事な要件

もう一つ対処しておかないといけない要件がターゲットのAPIレベルを上げる対応。

Google Play の要件が変更され、新規アプリについては 2019 年 8 月 1 日から、アプリのアップデートについては 2019 年 11 月 1 日から、アプリの対象を Android 9.0(API レベル 28)以上に設定する必要があります。それまでは、新規アプリもアプリのアップデートも Android 8.0(API レベル 26)以上を対象としてください。

developer.android.com

2019年8月から、新規にGoogle Playへ登録するアプリは、APIレベル 28(Android 9.0)以上をターゲットにしなければならなくなったので、新規にリリースした方は問題ないかと思いますが、

2019年11月に、アップデートする場合でも、APIレベル 28(Android 9.0)以上をターゲットにする必要があるようです。

まだ変更してなければ、タイミングを見て一緒に上げるなどした方がいいのかも。

自分のUnityのバージョン(2018.2.21f1)だとAPIレベル 27までしかないけど、2019への上げ時なのか…?

developer.android.com