Unable to set up CloudXR on Quest 2

Hi there,

I followed the instructions on the user guide, in order to generate the APK and install it on a Quest 2.
but the client App keep crashing every-time i try to start it.

This is is what i see in the logs :

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.nvidia.cloudxr.ovr, PID: 7342
java.lang.UnsatisfiedLinkError: dlopen failed: library “/system/lib64/libvrapi.so” needed or dlopened by “/apex/com.android.runtime/lib64/libnativeloader.so” is not accessible for the namespace “classloader-namespace”
at java.lang.Runtime.loadLibrary0(Runtime.java:1071)
at java.lang.Runtime.loadLibrary0(Runtime.java:1007)
at java.lang.System.loadLibrary(System.java:1667)
at com.nvidia.cloudxr.ovr.MainActivity.(MainActivity.java:44)
at java.lang.Class.newInstance(Native Method)
at android.app.AppComponentFactory.instantiateActivity(AppComponentFactory.java:95)
at android.support.v4.app.CoreComponentFactory.instantiateActivity(CoreComponentFactory.java:43)
at android.app.Instrumentation.newActivity(Instrumentation.java:1250)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:3196)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:3424)
at android.app.servertransaction.LaunchActivityItem.execute(LaunchActivityItem.java:83)
at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:135)
at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:95)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2030)
at android.os.Handler.dispatchMessage(Handler.java:109)
at android.os.Looper.loop(Looper.java:214)
at android.app.ActivityThread.main(ActivityThread.java:7400)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:492)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:936)

Could someone help me to fix this error.

Is your quest2 system version is 46+? libvrapi is deprecated by meta. You can check your quest system version to find out.
See https://developer.oculus.com/documentation/native/android/mobile-native-source-overview/

I was running the ovr sample on quest 2 that I think is on latest OS, and it was working fine. And we have had reports of success of running on the Pro as well. So while they’ve deprecated the ‘old’ sdk, their store is FULL of apps that depend upon it, many will be slow to transition to OpenXR backend (esp due to complexity curve).

But I am still building against older SDK/API certainly. What version of the meta sdk are you using, what android sdk and ndk versions? Possible something in one version is confusing things here.