UnityでAndroidの64bit対応は非常に簡単です!

  • 2019年6月23日
  • 2021年4月19日
  • unity
  • 155view

UnityでAndroidの64bit対応は非常に簡単です!

今回は、UnityでAndroidの64bit対応方法について解説します。

 

事前準備

 

Android NDKを事前にダウンロードしておきます。

 

Android NDKを以下のサイトからダウンロードします。

 

NDK のダウンロード

https://developer.android.com/ndk/downloads?hl=ja

 

 

■Android NDKとは?

 

Android NDKは、本家サイトにこのように説明されています。

Android NDK は、C や C++ などの言語を使用して、ネイティブ コードのアプリの一部を実装するためのツールセットです。また、いくつかの種類のアプリでは、C や C++ で書かれたコード ライブラリの再利用にも役立ちます。

出典:Android NDK

https://developer.android.com/ndk

 

 

Android NDKは、主にゲームなど処理速度を必要とするアルゴリズムを実装したいときに利用されます。

 

 

Unityはバージョン2017.4以上

 

Android 64bit対応のビルドができるのは、

Unity本体のバージョンが、2017.4以上からです。

よって、2017.4以上の本体にアップグレードするなどします。

 

参考:

アプリが 64 ビットデバイスをサポートしていることを確認する

https://developer.android.com/distribute/best-practices/develop/64-bit

 

 

Androidの64bit対応のビルド手順

(1)ビルドの設定

ビルド設定は、以下の図のとおりにします。

ポイントは、

Scripting Backend・・・IL2CPP

Target Architectures・・・ARMv7,ARM64,X86の全てにチェックを付けます

 

「Target Architectures」にすべてチェック付ける理由は、32bit端末のユーザでもAndroidアプリを遊べるようにするためです。

 

(2)ビルドを開始します。

 

IL2CPPモードでビルドを開始すると、

ビルド途中でAndroid NDKの場所が聞かれるので、ダウンロードしたNDKの場所を指定します。

 

(3)apkファイルの出来上がり

特にエラーが無ければ、apkが作成されます。

 

(4)64bit対応しているか確認する

(3)で作成したapkファイルが、本当に64bit対応されているかAndroid Studioをつかって確認します。

 

Android Studioのメニューから「Analyze APK」を選択します。

 

APKの内容が出てきます。

 

内容の中に以下の画像のように「lib -> arm64」というものがあれば、64bit対応されていることになります。

 

 

トラブルシューティング

人生うまく行くことの方が少ないのが現実です。

私も何度か、Androidの64bit対応においてビルドが失敗しました。

そのときの対処方法を共有します。

 

Android SDKが古い

ビルド中、以下の様な「Android SDK is outdated」エラーが出ることがあります。

意味は、Android SDKのバージョンが古いという意味です。

このときの対処方法は、Update Android SDKボタンを押して、SDKを更新します。

 

 

NDKのバージョンが合わない

Invalid NDK versionダイアログが出た場合は、指定しているNDKが対応していないという意味です。対処方法は、NDKのサイトに行き、ダイアログに記載されているバージョンのNDKをダウンロードします。

 

上記の例では、 「r13b」というNDKのバージョンな必要になります。

まとめ

いかがですか?

UnityでAndroidの64bit対応は簡単だと思います。

Googleから言われていることなので、早めに対応しておきましょうというお話でした。

 

 

最新情報をチェックしよう!
>プログラミングスクール検索・比較表サイト

プログラミングスクール検索・比較表サイト

ワンクリック、さらに詳細に条件を指定してプログラミングスクールの検索ができます。さらに比較表により特徴を細かく比較できる!

CTR IMG