署名されたアプリといくつかのキーストア ファイルがあります。アプリを更新したいので、どのキーが使用されたかを確認する必要があります。
アプリに最初に署名するために使用されたキーストアを、マシン上にあるさまざまなキーストアと照合するにはどうすればよいですか?
ベストアンサー1
Gradle 署名レポート
アプリの各バリアントの署名情報を出力する最も簡単な方法は、Gradle署名レポートの使用。
./gradlew signingReport
> Task :app:signingReport
Variant: debug
Config: debug
Store: ~/.android/debug.keystore
Alias: AndroidDebugKey
MD5: A5:88:41:04:8D:06:71:6D:FE:33:76:87:AC:AD:19:23
SHA1: A7:89:E5:05:C8:17:A1:22:EA:90:6E:A6:EA:A3:D4:8B:3A:30:AB:18
SHA-256: 05:A2:2C:35:EE:F2:51:23:72:4D:72:67:A5:6C:8C:58:22:2A:00:D6:DB:F6:45:D5:C1:82:D2:80:A4:69:A8:FE
Valid until: Wednesday, August 10, 2044
APK または AAB の署名
あるいは、Java 7 のキーおよび証明書管理ツールを使用して、keytool
ファイルを抽出せずにキーストアまたは APK の署名を確認することもできます。
# APK file
keytool -printcert -jarfile app.apk
# AAB file
keytool -printcert -jarfile app.aab
app.apk
出力には、APK ファイルまたは AAB ファイルの署名所有者/発行者と MD5、SHA1、SHA256 フィンガープリントが表示されますapp.aab
。
(この-jarfile
引数は Java 7 で導入されたことに注意してください。ドキュメントを参照詳細については。)
キーストアの署名
同様に、アプリケーションの署名に使用されたキーストアの署名を確認することもできます。
keytool -list -v -keystore release.jks
出力には、キーストア ファイル内のエイリアス (エントリ)release.jks
と証明書のフィンガープリント (MD5、SHA1、SHA256) が表示されます。
使用している場合は注意してくださいPlay アプリ署名アップロード キーは、Google Play がアプリの署名に使用するキーと異なる場合があります。この場合、Google Play Console の [リリース] > [設定] > [アプリの整合性]ページでアプリの署名を見つけることができます。
このプロセスは、Google デベロッパー サイトに記載されています。
https://developers.google.com/android/guides/クライアント認証
結論は
APK とキーストア間の SHA1 フィンガープリントが一致する場合、そのアプリはキーで署名されていると確信できます。