強火で進め

このブログではプログラム関連の記事を中心に書いてます。

Android の 64bit 対応のapkファイルの作成方法

(2019/01/17 追記)
Unity5.6 以前で作成された32bit対応ゲームに関しては、2021年8月までアップデートを受け付けるとの発表が Google から行われました。

Android アプリの64bit必須化の続報 - 強火で進め
http://d.hatena.ne.jp/nakamura001/20190117/1547708020

(追記ここまで)


Android アプリは2019年8月に64bit対応が必須化されます。

Androidアプリ、2019年8月に64bit対応を義務化。2018年にはOreo以降をターゲット化へ - Engadget 日本版
https://japanese.engadget.com/2017/12/20/android-2019-8-64bit-2018-oreo/

Unity の対応としては 2018.1 から 64bit(ARM64) ビルドが追加されていました。

What's new in Unity 2018.1 - Unity
https://unity3d.com/jp/unity/whats-new/unity-2018.1.0

しかし、このバージョンでは Experimental(実験的) の文字が付いていました。
2018.2 ではその文字が消えました。テストをする場合には 2018.2 を使うようにしましょう。

テストする時には特に使用しているプラグが64bit対応しているか?などを重点的にチェックしておきましょう。

64bit 対応ビルドの方法

64bit対応の apk ファイルの作成はとても簡単で基本的には ARM64 にチェックをするだけです。しかし、 ARM64 対応には IL2CPP が必須なので Scripting Backend を IL2CPP にしておく事を忘れない様にして下さい。

確認方法

念の為、ちゃんと 64bit 対応になっているか確認する事にしましょう。
確認には aapt を使うのでまだパスを通して無い人はパスの設定方法を調べて、事前にパスを通しておいて下さい。

コマンドとしてはこの様になります。

aapt dump badging test.apk

※ test.apk の部分は作成した自分の apk ファイルのパスを指定して下さい。

コマンドの出力から native-code: と書かれた部分を見つけ、値を確認します。ここに arm64-v8a が含まれていたら無事、 ARM64 対応の apk が作成できています。

ちなみに ARMv7/ARM64/x86 全てにチェックを付けてビルドした apk ファイルではこの様な値が出力されました。

native-code: 'arm64-v8a' 'armeabi-v7a' 'x86'

関連情報

Google Developers Japan: 今後の Google Play でのアプリのセキュリティおよびパフォーマンスの改善について
https://developers-jp.googleblog.com/2017/12/improving-app-security-and-performance.html

Meeting Google Play requirements in the future – Unity Blog
https://blogs.unity3d.com/jp/2017/12/20/meeting-google-play-requirements-in-the-future/