cancel
Showing results for 
Search instead for 
Did you mean: 

Oculus Quest v2 signing issue, "Please sign your APK and then resubmit.​"

mstevenson
Level 3
I currently have a published app on the Oculus Quest store that was created using Unity 2019.4 with v2 signing. I just upgraded the project to Unity 2020.2 to take advantage of Vulkan but I've run into a sticky signing issue when uploading this new build.

I'm not using a custom gradle template, and I generated a new AndroidManifest.xml using Oculus Integration tools which includes the following line as required for v2 signing:

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

I verified that v2 signing is correctly applied to the build:

cd C:\Program Files\Unity\Hub\Editor\2020.2.0f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\build-tools\28.0.3
apksigner verify --verbose build.apk

Output:

Verified using v1 scheme (JAR signing): false
Verified using v2 scheme (APK Signature Scheme v2): true
Number of signers: 1

When I upload the build using OVR Platform Tools it reaches step 4/5, "validating package contents", then fails with the following error:

ERROR: Please sign your APK and then resubmit.

My initial suspicion was that v1 signing is required, but according to the Oculus developer docs the Quest only uses v2 signing. Just to make certain I created a custom gradle template and added a `signingConfigs block with v1SigningEnabled true, but `apksigner` indicates that the resulting build still only uses v2 signing.

I've also tested multiple versions of Oculus Integration, including the latest v23.1 without success.

Does anyone know what I might be doing wrong?
2 REPLIES 2

mstevenson
Level 3
The solution was to downgrade from Android API level 25 to 23 which applies both v1 and v2 signing. We had previously been using level 25 in Unity 2019 without any problems.

blair1618
Level 2

Thank you for sharing your solution - it solved this issue for me too and I would have never thought to change the min sdk version!

I had the exact same problem described here using Unity 2020.2.1f1. My min sdk version was 24 and changing it to 23 caused Unity to build an APK with both v1 and v2 signing. Oculus currently requires that BOTH v1 AND v2 signing is used on Quest APKs.