Android APKがリリースで署名されており、証明書をデバッグしていないことを確認するにはどうすればよいですか?
source thatfile
。スクリプト内のコメントは、それを実行する方法を説明しています。
Android APKがリリースで署名されており、証明書をデバッグしていないことを確認するにはどうすればよいですか?
source thatfile
。スクリプト内のコメントは、それを実行する方法を説明しています。
回答:
このコマンドを使用します(コマンドプロンプトでjava <jdk <bin pathに移動します)
$ jarsigner -verify -verbose -certs my_application.apk
「CN = Android Debug」と表示されている場合、これは.apkがAndroid SDKによって生成されたデバッグキーで署名されていることを意味します(署名されていないことを意味します)。それ以外の場合は、CNの何かが見つかります。詳細については、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)
-これは、署名されていないことを意味しません。それはあなたが書いたばかりのことを意味します-それはデバッグキーで署名されています。
jarsigner -verify -verbose -certs myapp.apk | grep CN= | less
、「CN = Android Debug」は表示されません。
コンソールコマンドを使用します。
apksigner verify --print-certs application-development-release.apk
apksignerは../sdk/build-tools/24.0.3/apksigner.batにあります。ビルドツールv。24.0.3以降のみ。
googleドキュメントもお読みください:https : //developer.android.com/studio/command-line/apksigner.html
apksigner
`に%LOCALAPPDATA%\アンドロイド\ SDK \ビルドツール\ 25.0.3`(および他のすべてのビルドツールのバージョン私はインストールしていた)
apksigner
バージョン26.0.0
にはないことに注意してください。これはissuetracker.google.com/issues/62696222で追跡され、次のバージョンで修正される予定です。それまでの回避策はapksigner
from を使用すること25.0.3
です。
apksigner
バージョンに含まれています26.0.1
./apksigner verify --print-certs -v ~/Downloads/MyAppHere.apk
このコマンドを使用します:(Jarsignerは、Java binフォルダーにあります。コマンドプロンプトのjava-> jdk-> binパスに移動します)
$ jarsigner -verify my_signed.apk
.apkが適切に署名されている場合、Jarsignerは「jar検証済み」と出力します
最も簡単なもの:
keytool -list -printcert -jarfile file.apk
これはJava組み込みのkeytoolアプリを使用し、抽出やビルドツールのインストールを必要としません。
keytool -printcert -file ANDROID_.RSA or keytool -list -printcert -jarfile app.apk
ハッシュmd5を取得するkeytool -list -v -keystore clave-release.jks