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, которая еще не была доступна, когда был написан оригинальный ответ.