'Calabash-android resign with signature scheme v2
I'm trying to install and run a debug APK with Calabash-android, but it is failing because the scheme of the signature.
My original APK is signed with the debug keystore using scheme v2 (signed when building it via gradle):
$ apksigner verify -v myapp.apk
Verifies
Verified using v1 scheme (JAR signing): false
Verified using v2 scheme (APK Signature Scheme v2): true
Verified using v3 scheme (APK Signature Scheme v3): true
However, it cannot be used as it is with calabash-android (getting error No signature files found in META-INF. Cannot proceed.), so I need to resign it with calabash:
$ calabash-android resign myapp.apk
Signing process seems to work fine, but when I try to install the just signed APK I'm getting this error:
adb: failed to install /Users/acampos/myapp.apk: Failure [INSTALL_PARSE_FAILED_NO_CERTIFICATES: Scanning Failed.: No signature found in package of version 2 or newer for package com.myapp]
When trying to verify the signature of the new APK, this is the result:
$ apksigner verify -v myapp.apk
DOES NOT VERIFY
ERROR: Target SDK version 30 requires a minimum of signature scheme v2; the APK is not signed with this or a later signature scheme
...
It seems that the latest Android versions need scheme v2 for the signatures, but calabash resign action is still using v1.
I have already tried creating a new debug.keystore, changing to different versions (ruby, calabash-android, etc.),..., but no success.
Any idea about how to make calabash sign the APK using scheme v2?
Thank you!
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|