Android N - как проверить, подписан ли apk со схемой v2

Android N предоставил новую схему подписки apk v2, как я могу проверить, подписан ли какой-либо конкретный apk с этой новой подписью?

Спасибо

Ответ 1

  • Запустите apksigner verify -v <apk> и найдите Verified using v2 scheme (APK Signature Scheme v2): true в выводе. apksigner можно найти в инструментах для создания Android SDK 24.0.3. Исходный код apksigner находится здесь: https://android.googlesource.com/platform/tools/apksig/.

  • Для уже установленного пакета на Android Nougat: adb shell pm dump <package name> | grep apkSigningVersion. 1 означает обычную схему подписания JAR, 2 означает APK Signature Scheme v2.

  • Вы также можете запустить grep 'APK Sig Block 42' app.apk, но это может иметь ложные срабатывания. Только если нет совпадения, он уверен, что APK не подписан с использованием APK Signature Scheme v2.

EDIT: Добавлена ​​информация об apksigner, которая еще не была доступна, когда был написан оригинальный ответ.