2019年6月1日土曜日

Unity で 64bit版 Anrdoid アプリをビルドする方法

How to build 64-bit Android Applications with Unity3D

2019 年 8 月 1 日から Googole Play で公開するネイティブコードを使用するアプリは、64bit版のコードを含んでいることが必須になります。
それ以降は 32bit のネイティブコードのみを使用するアプリの公開ができなくなることが決まっています。
Android Studio で Java や Kotlin でプログラミングしたアプリならネイティブコードの心配はありませんが、ゲームエンジンの Unity3D (以下 Unity) でビルドした Android アプリはネイティブコードを含むので注意が必要です。
Unity で 64bit のネイティブコードを含めた Andorid アプリをビルドする方法を試してみたのでその方法をまとめました。
blog.fujiu.jp Unity で 64bit版 Anrdoid アプリをビルドする方法


環境

  • Windows 10
  • Unity Editor 2019.1.4


Unity のツール類のパスを確認する

Unity を起動しメニューの
Edit -> Preferences
を開き、JDK・Android SDK・Android NDK のパスが設定されているか確認します。
設定されていなければそれぞれインストールする必要があります。


Java SE Developpment Kit 8 (JDK8) をインストールする

JDK 8 がインストールされていない場合は公式サイトからダウンロードしインストールします。
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

インストールしたら Unity の Preferences にインストールしたパスを設定します。


Android SDK (Android Studio) をインストールする

Android SDK がインストールされていない場合は Android Studi のインストールをおすすめします。
Android SDK はコマンドラインツールとして公開されていますが、Android Studio をインストールすると Android SDK を GUI でアップデートできます。
Android Studio は公式サイトからダウンロードできます。
https://developer.android.com/studio

Android Studio を起動し、メニューの
Files -> Settings
で Settings 画面を開き
Appearance & Behavior -> System Settings -> Android SDK
の階層にある Android SDK Location の項目が Android SDK のパスです。

このブログを書いている時点では Unity には Android SDK Tool 26.1.1 が必要でした。
Android SDK Tool のバージョンは SDK Tools タブで確認出来ます。
バージョンが古い場合はこの画面からアップデート出来ます。

Android SDK をインストールしたら Unity の Preferences にインストールしたパスを設定します。


Android NDK をダウンロードし展開する

Android NDK がインストールされていない場合はインストールする必要があります。
このブログを書いている時点 Android NDK の最新バージョン r19c は Unity では使えず、少し古めのバージョン r16b が必要です。
古いバージョンの Android NDK は NDK アーカイブからダウンロードできました。
https://developer.android.com/ndk/downloads/older_releases.html?hl=ja
Android NDK のインストールはダウンロードした zip ファイルを展開するだけです。
展開したら Unity の Preferences に展開したパスを設定します。


Platform を切り替えて Android-Support-for-Editor をインストールする

Unity のメニューの
File -> Build Settings
を開き
Platform の Android を選択して Switch Platform をクリックします。

Android-Support-for-Editor がインストールされていない場合は、ここでダウンロードを促されます。
Android-Support-for-Editor をダウンロードしたらインストールし、もう一度上記画面の Switch Platform をクリックします。


Player Settings を設定するする

Build Settings の左下の Player Settings をクリックします。
Other Settings の階層の設定項目を次のように変更します。
  • Scripting RUntime Version を .NET 4.x Equivalent にする
  • Scriopting Backend を IL2CPP にする
  • ARM64 のチェックをオンにする

この設定で Build Settings の Build をクリックすれば 64bitのネイティブコードを使用する Android アプリにビルドすることが出来ました。
Android 端末実機の USB デバッグをオンにして USB ケーブルで接続して Build And Run をクリックすれば実機で動作テスト出来ます。

Androd Studio で 64bit のネイティブコードを含んでいるか確かめる方法は Android アプリの 64bit 必須化に対応する方法 で公開しています。


エラーが出たときの対処方法

Feature `out variable declaration' cannot be used error というエラーが出た場合

Other Settings の Scripting RUntime Version を .NET 4.x Equivalent に設定する


関連ブログ

Android アプリの 64bit 必須化に対応する方法
[Unity3D] Unity5のプロジェクトをAndroid Studioにインポートする方法


0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。