Android N – how to check if apk is signed with schema v2

androidandroid-signingapksignature

Android N provided new apk Signature Scheme v2,
how can I check if a specific apk is signed with that new signature?

Thanks

Best Answer

  • Run apksigner verify -v <apk> and look for Verified using v2 scheme (APK Signature Scheme v2): true in the output. apksigner can be found in Android SDK build tools 24.0.3. apksigner's source code is here: https://android.googlesource.com/platform/tools/apksig/.

  • For an already installed package on Android Nougat: adb shell pm dump <package name> | grep apkSigningVersion. 1 means conventional JAR signing scheme, 2 means APK Signature Scheme v2.

  • You can also run grep 'APK Sig Block 42' app.apk but this may have false positives. Only if there is no match is it certain that the APK is not signed using APK Signature Scheme v2.

EDIT: Added information about apksigner which wasn't yet available when the original answer was written.