sh1’s diary

プログラミング、読んだ本、資格試験、ゲームとか私を記録するところ

Unity Android の 64 bit 対応と APK ファイルのテスト(アプリ対応)

Google からのご指摘のとおり、Android の 64 bit 対応が必要になっているようなので、対応と設定をテストしたので、その内容を記録した記事です。


開発環境の準備

Unity は次のバージョン以上の必要があります。

  • Unity 2018.2 正式サポート

Unity 2018.1 Experimental としてのサポート


設定変更

Unity のコンパイラ設定を変更する必要があります。デフォルトでは「Mono」が利用されていますが「IL2CPP」に設定変更が必要です。

「IL2CPP」と「Mono」は、コンパイラになります。違いについてもチェックしておきましょう。

  • File > Build Settings > Platform (Android) > Player Settings... を選択
  • Project Settings > Player > Other SettingsConfigration を表示
    • Scripting BackEnd > IL2CPP に設定
    • Target Architectures > ARM64 にチェックを追加

f:id:shikaku_sh:20200204171628p:plain:w500
こんな感じに設定しました

Target Architectures に x86 が表示されていても、現在はチェック(有効)にしないほうがよいかもしれません。古いデバイスで利用できなくなってしまいますが、Google Play の 64 ビット要件に準拠していないというエラーが発生することがあるようです。1

f:id:shikaku_sh:20200204174930p:plain:w400
要件を満たさないアラート表示の例

Android の 64 bit 対応はこれだけで OK みたいです。あとは、ビルドしてみて APK ファイルの中身を確認するながれですね。(下に続く)


IL2CPP が選択できないとき

Android Studio のバージョンが古いとき、Scripting BackEnd のコンボボックス(セレクター)が切り替えできません。

NDK のバージョンが対応していないということになりそうです。Android Studio を更新しましょう……というところですが、Unity 2019.3 であれば、Unity HUB から更新するほうがよさそうです。

対応の確認

コンパイラ変更をしたので、Unity でテストプログラムをビルドしてみてください。正しく 64 ビット対応できているかチェックしてみることにします。

f:id:shikaku_sh:20200204171745p:plain:w400
「Profile or debug APK」を選択

Android Studio を起動すると表示される「Profile or debug APK」を選択し、Unity でビルドした APK ファイルを選択します。

チェックするところは次。

f:id:shikaku_sh:20200204172814p:plain:w600
lib にフォルダーが2つある!

この2つのフォルダーが存在しているかどうかがポイントになりそうです。詳細は、Android Studio のドキュメント「APK アナライザーでビルドの分析をする」が参考になります。

APK ファイルの仕様は、ざっとだと WIKI がわかりやすかったです。

f:id:shikaku_sh:20200204172748p:plain:w600
「Mono」でビルドした APK ファイルの例

ためしに「Mono」でコンパイルしてみたところ「armeabi-v7a」のフォルダーしかありませんでした。どうやらうまく設定できていそうです。


参考

Unity ゲームエフェクト マスターガイド

Unity ゲームエフェクト マスターガイド

  • 作者:秋山 高廣
  • 発売日: 2019/07/19
  • メディア: 単行本(ソフトカバー)


  1. teratail の質問より (URL)