Oculus Quest Development

All Oculus Quest developers MUST PASS the concept review prior to gaining publishing access to the Quest Store and additional resources. Submit a concept document for review as early in your Quest application development cycle as possible. For additional information and context, please see Submitting Your App to the Oculus Quest Store.

Native Debugging with Android Studio

This section introduces debugging our sample native apps in Android Studio.

The default configurations created during project import only support Java debugging.

Select Edit Configurations… in the Configurations drop-down menu in the Android Studio toolbar.

Create a new Android App configuration as show below:

In the General tab of the Run/Debug Configuration dialog box, give the configuration a name and select a module.

In the Debugger tab of the Run/Debug Configuration dialog box, change the Debug type to Native, and add symbol paths:

Note that ndk-build places stripped libraries inside the libs/ directory. You must point the symbol search paths at the obj/local/<arch> directory. This is also not a recursive search path, so you must set the full path to the obj/local/armeabi-v7a directory.

Troubleshooting

If you experience an application crash at AInputQueue_preDispatchEvent with SIGILL (illegal instruction), there is a workaround available by disabling the SIGILL handler in LLDB. Follow these instructions to do so:

  1. Open the application in Android Studio.
  2. Open Run > Edit Configurations.
  3. On the Run/Debug Configurations window, make sure your app is selected in the left pane, and click the Debugger tab in the right pane.
  4. On the Debugger tab, click the LLDB Post Attach Commands tab below.
  5. Click the + to the right, add the following command, and press Enter:
    process handle --pass true --stop false --notify true SIGILL
    
  6. Click OK to apply the change.