Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

APK is signed with Signature Scheme V3, which is not yet supported. Oculus platform

Discussion in 'AR/VR (XR) Discussion' started by ibompuis, Jan 16, 2019.

  1. ibompuis

    ibompuis

    Joined:
    Sep 13, 2012
    Posts:
    100
    Hi,

    Surprise ! today I try to upload a new build on Oculus platform and this message appear:

    APK Signed With Signature Schema V3
    APK is signed with Signature Scheme V3, which is not yet supported. Please disable signing with Scheme V3 and upload again.

    I always published build (24) with same project and setup...

    https://screencast.com/t/Owk5ggRklE


    How to correct this ? it's unity problem signing ?

    Best
     
  2. ibompuis

    ibompuis

    Joined:
    Sep 13, 2012
    Posts:
    100
    Work if I change internal to gradle build... why ? it's Oculus magic !! ... :mad:
     
  3. CreepyInpu

    CreepyInpu

    Joined:
    Oct 9, 2014
    Posts:
    23
    Wow, I just had the same issue, and like you I've always been using the same project and setup. WTF ?

    Edit : I'm not as lucky as you, my Grable builds always seems to fail, not sure why...
     
  4. ArnaudJopart

    ArnaudJopart

    Joined:
    Oct 27, 2016
    Posts:
    13
    Hum. Same problem here. 2018.2.5f1.

    Already uploaded several times one month ago without any issue with internal build method but now the Oculus tools command tells me the app is signed with V3 and need to be signed with V2.

    if I check the apk with apksigner I got:

    Verified using v1 scheme (JAR signing): true
    Verified using v2 scheme (APK Signature Scheme v2): false

    Does that mean the apk signature is not even in v2 ?

    Gradle is not building the app. I will try to fix that first.
     
  5. CreepyInpu

    CreepyInpu

    Joined:
    Oct 9, 2014
    Posts:
    23
    If you fix that, could you explain how you did it ?
     
  6. Percy-Pea

    Percy-Pea

    Joined:
    Aug 31, 2014
    Posts:
    75
    Just had the same issue. Made a build in December using unity 2018.2.6 and uploaded fine. Made build today with same version of Unity and getting the V3 message :eek:

    Not yet attempted Gradle option
     
  7. CreepyInpu

    CreepyInpu

    Joined:
    Oct 9, 2014
    Posts:
    23
    I tried to make Gradle work, but it keep failing. I guess I'll manually push the .APK files for now...
     
  8. Percy-Pea

    Percy-Pea

    Joined:
    Aug 31, 2014
    Posts:
    75
    Gradle fortunately worked for me with my app (simply selected it, didn't have to do anything else).

    It may well be that Decembers version also was set to Gradle after all, turns out someone here and switched it to Internal recently
     
  9. CreepyInpu

    CreepyInpu

    Joined:
    Oct 9, 2014
    Posts:
    23
    Could you tell me the steps do make Gradle work ? I'm still stuck on that step :(

    Edit : Ho, ok, worked by default, argh!
     
  10. saif-studio-b12

    saif-studio-b12

    Joined:
    Dec 5, 2018
    Posts:
    14
    For me neither the gradle works nor the app is getting uploaded because of the v3 signature schema. Don't know how to resolve this error. Can anyone help me?
     
  11. CreepyInpu

    CreepyInpu

    Joined:
    Oct 9, 2014
    Posts:
    23
    Last edited: Jan 16, 2019
  12. saif-studio-b12

    saif-studio-b12

    Joined:
    Dec 5, 2018
    Posts:
    14
    Follow this video for app signing. It works for me. :D

     
    haskins likes this.
  13. ArnaudJopart

    ArnaudJopart

    Joined:
    Oct 27, 2016
    Posts:
    13
    Hi. Managed to make a gradle build by uninstalling Android NDK from Android Studio. See there https://forum.unity.com/threads/commandinvokationfailure-gradle-build-failed.559963/.

    Now build is ok, upload on the Oculus is OK, but do you guys take into account this message from Oculus on the Unity TroubleShootings about the grable build ? https://developer.oculus.com/documentation/unity/latest/concepts/unity-troubleshooting/

    It tells us :

    All Unity 2018.2 versions

    • (Mobile) You'll need to either switch the AndroidBuildSystem to internal or export a Gradle project and modify the SigningConfig in the build.gradle file to include v1SigningEnabled=true, v2SigningEnabled=false.
    Fun time!
     
  14. CreepyInpu

    CreepyInpu

    Joined:
    Oct 9, 2014
    Posts:
    23
    Thank you so much, I made it work with this. You, and the guy on the video, made my day !
     
    haskins and saif-studio-b12 like this.
  15. ArnaudJopart

    ArnaudJopart

    Joined:
    Oct 27, 2016
    Posts:
    13
    Oh nice. I give it a try.
     
  16. saif-studio-b12

    saif-studio-b12

    Joined:
    Dec 5, 2018
    Posts:
    14
    yup it works :) I am glad i helped you.
     
  17. sebagork

    sebagork

    Joined:
    Jan 8, 2015
    Posts:
    6
    I had this problem today and after downgrade the Android SDK the problem is gone when i make internal builds.
    I'm with the 27.0.3 SDK version now.
     
    WimPOA likes this.
  18. carsonherrick

    carsonherrick

    Joined:
    Dec 19, 2016
    Posts:
    6
    I have this problem with signing scheme v2 for Oculus Quest.
    I am using Unity 2019.3.0f5 and Oculus XR Plugin 1.1.5

    I have tried to disable v2 signing (and force back to v1) via
    https://developer.android.com/studio/releases/gradle-plugin.html

    Code (CSharp):
    1. android {
    2.   ...
    3.   signingConfigs {
    4.     config {
    5.       ...
    6.       v2SigningEnabled false
    7.     }
    8.   }
    9. }
    I have even tried building the APK with Android Studio.
    I have tried uploading to Oculus build manager via web, and via ovr-platform-util.exe.

    Oculus continues to report that: APK is signed with Signature Scheme V2, which is not yet supported.

    Please help.
     
  19. Ostwind

    Ostwind

    Joined:
    Mar 22, 2011
    Posts:
    2,804
    What exactly is your issue? this thread was originally about v3 error. Why are you trying to force v1 if you are targeting Quest?
     
  20. dakomz

    dakomz

    Joined:
    Nov 12, 2019
    Posts:
    40
    @carsonherrick did you ever figure it out?
    @Ostwind - imho it's relevant since the issue is really about controlling the signing scheme, whatever it may be...
     
  21. web2ajax

    web2ajax

    Joined:
    Mar 17, 2018
    Posts:
    9
    2

    I'm giving up Oculus, that nasty Google and simple mistake, facebook and rubbish !!
     
  22. PeterWilkinson

    PeterWilkinson

    Joined:
    Dec 4, 2012
    Posts:
    5
    Open the Oculus Folder.
    Click the Settings file just inside there.
    Look at the Inspector, make sure GO/GearVR is checked.

    Problem solved.
     
  23. BrainwareLLC

    BrainwareLLC

    Joined:
    May 4, 2020
    Posts:
    3
    PeterWilkinson's answer is the right one. However, this fixed the problem for me before I saw his answer. So, I'm posting it here as an alternative in case this sort of thing comes up again.
    1) Used Unity's Keystore manager to generate a key.
    2) Unchecked Left Player > Publish Settings > Project Keystore
    3) Removed the debug key and resigned as follows:
    % zip -d my.apk "META-INF/*"
    % jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA -keystore my.keystore my.apk MyAlias
     
  24. rkachach_

    rkachach_

    Joined:
    Nov 22, 2017
    Posts:
    2
    Hello,

    I hope this could help in case somebody runs in the same issue. Basically I suffered from the same error. First the one related with "v3" signing. This one disappeared when I switched from "internal" to "gradle". Then I started getting the error about v2 being enabled. For this one I used a custom gradle template by inserting the following section in gradle:

    Code (Boo):
    1.     signingConfigs {
    2.         release {
    3.             storeFile file('YOUR_ABS_KEYSTORE_PATH_HERE')
    4.             storePassword 'XXXX'
    5.             keyAlias 'XXXX'
    6.             keyPassword 'XXXX'
    7.             v1SigningEnabled true
    8.             v2SigningEnabled false
    9.         }
    10.     }
    However, even with this I still was getting the V2 error and when I checked the generated apk by using the command:

    Android\Sdk\build-tools\28.0.3\apksigner.bat verify --verbose myapp.apk

    I could saw that in fact the apk is being signed by V2 also (as if v2SigningEnabled were true). To make long story short, I figured out that Oculus asset uses a script called OVRGradleGeneration.cs in order to modify the gradle template on the fly during the build (sounds ugly thing to do but probably they have their reason for it ..). Eventually I modified this script and disabled the code that was forcing the v2SigningEnabled to true. These are basically the lines ( I commented out the gradle.Replace):

    Code (CSharp):
    1.                
    2.               ......
    3.                 if (v2Signingindex != -1)
    4.                 {
    5.                     //v2 Signing flag found, ensure the correct value is set based on platform.
    6.                     if (v2SigningEnabled)
    7.                     {
    8.                           // MYCHANGE: disable this because it's forcing v2SigningEnabled to true
    9.                         //gradle = gradle.Replace("v2SigningEnabled false", "v2SigningEnabled true");
    10.                         System.IO.File.WriteAllText(gradleBuildPath, gradle);
    11.                     }
    12.                 }
    13.                 ......
    14.  
    And voila!! issue fixed and I can upload my app to the store.
     
    Roiw likes this.
  25. Roiw

    Roiw

    Joined:
    Jan 15, 2013
    Posts:
    23
    You rock rkachach!