0 支持
(200 ポイント)
OculusQuest(Android)で開発を行っているのですが、

「DllNotFoundException: Unable to load DLL 'mrs': The specified module could not be found」

というエラーが出て、サーバに繋ぐことができません。
・Windowsでビルドした際は正常動作可能
・Unityの実行ボタンからは正常に動作可能。(PlatformはAndorid)

なぜか、apkファイルを作ってOculusQuestのみで起動すると動きません。

開発環境は以下の通りです。
Unity 2019.4.9f1
OculusQuest
API Level Andorid7.1

お手数おかけしますが、どなたかご教授お願い致します。

回答 1

0 支持
(2.8k ポイント)

いくつか原因が考えられますが、先に前置きを。

・使用しているMUNのバージョンはいくつでしょうか?
・使用しているAndroidSDK/NDKのバージョンはいくつでしょうか?

付け加えて、

・Windowsでビルドした際は正常動作可能
・Unityの実行ボタンからは正常に動作可能。(PlatformはAndorid)

なぜか、apkファイルを作ってOculusQuestのみで起動すると動きません。

この部分の「Windowsでビルドしたものを実行する」と「UnityのPlatformをAndroidに設定した上で、Unityの実行ボタンを押して実行する」のとでは、動作環境はまったく変わりません。両方とも「Windowsプラットフォームで動作している」だけです。(Androidエミュレータなどを通さない限り、Android環境での実行はPC上で確認することはできません。)

改めて問題の箇所ですが、いくつか原因は考えられるのですが、ひとまず最も可能性が高いところで「OculusQuestはARM64対応なのに、ビルドバージョンがARMv7に設定されている」可能性が高いので、そこを確認してください。

https://bit.ly/3agztcY

ここの「アプリケーションのターゲットCPUアーキテクチャの設定」の項目にある設定内容と同じように、 ARM64 のチェックボックスのみを ON にしてビルドして実行してみてください。

(200 ポイント)
ご回答していただき、ありがとうございます。

自分の環境が原因でした。
TortoiseSVNのデフォルト設定で、Pluginの中の一部のファイルがignoreされてしまい、反映されない状態でコミットし、そのソースをリポジトリから持ってきたのが原因でした。

ignoreされたファイル
Assets>Plugin>Android>libs>arm64-v8aの中身の.soファイル
Assets>Plugin>Android>libs>armeabi-v7aの中身の.soファイル
Assets>Plugin>iOS>Monobit>mrs>libraryの中身の.aファイル

以上のファイルを追加したら動きました。 
...