Android Application Signing

This topic describes how to generate an Oculus Quest APK signed with the Android v2 signing scheme.

You must sign the release version of your app with an Android certificate before you submit it for review.

Android uses a digital certificate (also called a keystore) to cryptographically validate the identity of application authors. All Android applications must be digitally signed with such a certificate in order to be installed and run on an Android device.

All developers must create their own unique digital signature and sign their applications before submitting them to Oculus for approval. For more information, see Sign Your App in the Android documentation.

Make sure to save the certificate file you use to sign your application. All subsequent updates to your application must be signed with the same certificate file.

Oculus Quest native APKs must be signed using the v1 and v2 signing scheme. The following are instructions on how to produce a compliant APK:

  1. Add the following to the Android manifest:

     <uses-feature
     android:name="android.hardware.vr.headtracking"
     android:version="1"
     android:required="true"
     />
    

    Note that you will need to compile using Android SDK 26 or higher for headtracking, but your minimum SDK must use Android SDK 23 in order to run on Oculus Quest, so make sure the minSdkVersion and compileSdkVersion are properly set.

  2. In Android Studio, go to Build > Generate Signed Bundle / APK. This will walk you through the process of generating a signed APK file.
  3. On the first screen, select APK and click Next.
  4. On the next screen, create a new keystore or choose the path to an existing one. If you are creating a new keystore, the other fields should fill in by themselves once you create it. If you choose an existing keystore, enter the appropriate information. Click Next to continue.
  5. On the final screen, enter the destination folder for the APK, select the build variant if necessary, and check V2 (Full APK Signature). Click Finish and the build will begin.
  6. Once complete, the signed APK will be in the destination folder you selected.