Wie kann ich überprüfen, ob ein Android-Apk mit einem Release signiert ist und kein Debug-Zertifikat?
source thatfile
. Kommentare im Skript erklären, wie es ausgeführt wird.
Wie kann ich überprüfen, ob ein Android-Apk mit einem Release signiert ist und kein Debug-Zertifikat?
source thatfile
. Kommentare im Skript erklären, wie es ausgeführt wird.
Antworten:
Verwenden Sie diesen Befehl (gehen Sie in der Eingabeaufforderung cmd zu Java <jdk <bin path).
$ jarsigner -verify -verbose -certs my_application.apk
Wenn "CN = Android Debug" angezeigt wird, bedeutet dies, dass die APK mit dem vom Android SDK generierten Debug-Schlüssel signiert wurde (dh, sie ist nicht signiert). Andernfalls finden Sie etwas für CN. Weitere Informationen finden Sie unter: http://developer.android.com/guide/publishing/app-signing.html
this means the .apk was signed with the debug key generated by the Android SDK (means it is unsigned)
- Dies bedeutet nicht, dass es nicht signiert ist. Es bedeutet, was Sie gerade geschrieben haben - es ist mit dem Debug-Schlüssel signiert.
jarsigner -verify -verbose -certs myapp.apk | grep CN= | less
und wir sollten nicht "CN = Android Debug" sehen.
Verwenden Sie den Konsolenbefehl:
apksigner verify --print-certs application-development-release.apk
Sie finden apksigner in ../sdk/build-tools/24.0.3/apksigner.bat. Nur für Build-Tools ab Version 24.0.3.
Lesen Sie auch die Google-Dokumente: https://developer.android.com/studio/command-line/apksigner.html
apksigner
in `% LOCALAPPDATA% \ Android \ sdk \ build-tools \ 25.0.3` (und jeder anderen Build-Tool-Version, die ich installiert hatte)
apksigner
in der Version 26.0.0
der Build-Tools fehlt . Es wird in issuetracker.google.com/issues/62696222 verfolgt und soll in der nächsten Version behoben werden. Die Abhilfe bis dahin ist die Verwendung apksigner
von 25.0.3
.
apksigner
ist in der Version enthalten26.0.1
./apksigner verify --print-certs -v ~/Downloads/MyAppHere.apk
Verwenden Sie diesen Befehl: (Jarsigner befindet sich in Ihrem Java-Bin-Ordner. Gehen Sie zu Java-> JDK-> Bin-Pfad in der Cmd-Eingabeaufforderung.)
$ jarsigner -verify my_signed.apk
Wenn die APK-Datei ordnungsgemäß signiert ist, druckt Jarsigner "jar verified".
Das einfachste von allen:
keytool -list -printcert -jarfile file.apk
Dies verwendet die in Java integrierte Keytool-App und erfordert keine Extraktion oder Installation von Build-Tools.
keytool
sofort laufen können , überprüfen Sie dies und versuchen Sie vielleicht %JAVA_HOME%\bin
, dem Pfad
keytool -printcert -file ANDROID_.RSA or keytool -list -printcert -jarfile app.apk
um den Hash md5 zu erhaltenkeytool -list -v -keystore clave-release.jks