夜風のMixedReality

xRと出会って変わった人生と出会った技術を書き残すためのGeekなHoloRangerの居場所

Oculus Quest AppLabでAPKファイルをアップロードする際にエラーが発生する問題の解消

本日はOculus Quest枠です。

〇AppLabとは?

Oculus Questへのオリジナルアプリケーションのインストール方法には以下のようなものがあります。

・Storeからインストール

 これはOculus Questでのアプリケーションのインストール方法としては最も一般的なもので、Storeで公開、販売されているアプリケーションとしてインストールする方法です。

 公式のアプリとしてインストールするため安全なものの、ストアにリリースするためには審査などが必要なうえ、世界中誰でもインストールできるようになっています。

・Side Questからインストール

 Side QuestはQuestやGo、ViveのスタンドアローンデバイスなどアンドロイドのxRデバイスに非公式のアプリを含めインストールすることができるソフトウェアです。

f:id:Holomoto-Sumire:20220125185454p:plain

 Storeに申請することなくAPKファイル(アプリケーションファイル)があればインストールすることができる点が魅力です。

・AppLabからインストール

Side Questが非公式アプリであることに対してAppLabはOculus公式が提供している正式なツールです。

 ストアに提出する前の承認を得ていないアプリであっても少人数でのテストなど公開範囲を制限して公開することができます。

 AppLabではAPKファイルをアップロードすることによって登録しているアカウントグループ内のQuestにアプリが表示されるようになります。

 今回はこのAppLabでAPKファイルをアップロードして登録する際にエラーが発生したため問題の解消法を記載します。

〇AppLabでAPKファイルをアップロードする際にエラーが発生する

AppLabの使い方やファイルのアップロードに関してはこの記事の本質とずれるためここではあまり紹介しません。

①AppLabでα版のアプリをリリースするためにはOculus Developer Hubを使用します。

 f:id:Holomoto-Sumire:20220125190411p:plain

②APKファイルをアップロードすると次のようなエラーが発生しました。

f:id:Holomoto-Sumire:20220125193822p:plain

Logs are written to: C:\Users\sator\AppData\Local\Temp\oc_cli_5302088483153651_2022-01-25T04-34-04-042Z.log
*******************************************************************************
* Your copy of Oculus Platform Command Line Utility is old. *
* Version 1.67.0.000001 has been released on Fri Oct 08 2021. *
* Please use the following command to update it: *
* > ..\..\Users\sator\AppData\Roaming\odh\ovr-platform-util.exe self-update *
*******************************************************************************
[1m
Validating build...[0m
ERROR: Validation identified the following errors:
This app includes the following 32-bit only (armeabi-v7a) libraries: libMonoPosixHelper.so, libOVRLipSync.so, libOVRPlugin.so, libOculusXRPlugin.so, libmain.so, libmonobdwgc-2.0.so, libovravatarloader.so, libovrplatformloader.so, libunity.so, libvrapi.so
NOTE:
Your manifest includes the following permissions restricted by Oculus:
- android.permission.RECORD_AUDIO
Please remove these permissions if they are not needed by your application. If they are needed, you must include justification in the "Notes for the Reviewer" field when submitting your application for review. Failure to provide justification will result in the rejection of your application.
Build Upload Error - an error has occurred

 ここでは 32ビット専用のファイルが含まれていることが原因とあります。

 この時点でアーキテクチャが原因である可能性を考えました。

〇原因と解消

 今回上記のエラーが発生していたのはUnityプロジェクト側でScriptingBackendMonoであることが原因でした。

f:id:Holomoto-Sumire:20220125194334p:plain

 このScriptingBackendは[Mono]、[Il2cpp]などがあります。

docs.unity3d.com

 [Il2cpp]はIL(intermediate language=中間言語)をC++に変換してアプリケーションのパフォーマンス向上を行うものです。

 今回のエラーはScriptingBackendIL2CPPにして再ビルドし、アップロードすることで解消しました。

 IL2CPPはビルドに時間がかかりますが反面前述のようにアプリケーションのパフォーマンスは向上するのでリリースの際はIL2CPPにするほうが良いようです。

 なおHoloLensの場合はIL2CPP一択でほかのものが使用できません。