3

ich geschrieben zuvor eine Frage auf, wie hier die Signatur Prüfsumme meiner APK zu bekommen: How do I get the signature checksum of my APK?Wie erhalte ich die Signaturprüfsumme meiner APK, die nur mit dem v2-Schema signiert ist?

Die Antwort ist perfekt, wenn eine App mit dem v1 Signaturschema oder die Kombination v1/v2 Signaturverfahren signiert ist. (Jar und Full APK Signaturen)

Da meine App jedoch nur auf Android O oder höher läuft (es ist eine gerätespezifische App), signiere ich sie nur mit dem APK Signaturschema v2 (v2 scheme) .

Ich werde EXTRA_PROVISIONING_DEVICE_ADMIN_SIGNATURE_CHECKSUM verwenden. Siehe: https://developer.android.com/reference/android/app/admin/DevicePolicyManager.html für Details.

Wie erhalte ich die APK (v2) -Signaturprüfsumme meiner App, die ich in meinem Schlüssel/Wert-Paar für die NFC-Bereitstellung einer Gerätebesitzer-App verwenden kann?

Antwort

3

am Beispiel zu bauen How do I get the signature checksum of my APK? Sie erwähnt:

apksigner verify -print-certs [path to your apk] | grep -Po "(?<=SHA-256 digest:) .*" | xxd -r -p | openssl base64 | tr -d '=' | tr -- '+/=' '-_'` 

Die "Signatur-Prüfsumme" Sie beziehen sich die URL-safe Base64 codiert SHA-256 Digest der Unterzeichnung CERTs APK ist. apksigner verify --print-certs druckt die verschiedenen Digests der APK-Signaturen, unabhängig davon, ob APK JAR, APK Signature Scheme v2-signiert oder beides ist.

apksigner über Android SDK verteilt Build-Tools 24.0.3 und neuere (außer 26.0.0 die versehentlich apksigner fehlt). https://developer.android.com/studio/command-line/apksigner.html

+1

Nur überprüft, diese Methode funktioniert für v1 und/oder v2 Schemata! Vielen Dank! –

+1

Mein Mac hat eine Version von Grep, die das Flag -P nicht unterstützt. Um das zu umgehen, musste ich den Befehl ein wenig ändern: ich ersetzte grep -Po "(? <= SHA-256 Digest :). *" mit Perl -nle 'print $ & if m {(? <= SHA- 256 Digest :). *} '(Adaptiert von: https://Stackoverflow.com/a/16658690/3482621) –

Verwandte Themen