Androidアプリの新しいバージョンをGooglePlayストアにプッシュしていますが、アプリの現在のユーザーの更新をトリガーし、新しいバージョンとして扱わないようにしたいと考えています。もともと既存のアプリに署名するために使用された秘密鍵を持っていないので、それを回復するために次のことを試みています。
手順3に進むことはできますが、keytool -list -keystore my-signing-key.keystoreコマンドの.keystoreファイル名がわかりません。何かアイデアはありますか?
- まず、APKを解凍し、ファイル/META-INF/ANDROID_.RSAを抽出します(このファイルはCERT.RSAの場合もありますが、.RSAファイルは1つだけである必要があります)。
次に、次のコマンドを発行します。
keytool -printcert-fileANDROID_.RSA次のような証明書のフィンガープリントを取得します。
MD5:B3:4F:BE:07:AA:78:24:DC:CA:92:36:FF:AE:8C:17:DB SHA1:16:59:E7:E3:0C:AA:7A:0D :F2:0D:05:20:12:A8:85:0B:32:C5:4F:68署名アルゴリズム名:SHA1withRSA
次に、keytoolを再度使用して、署名キーストアのすべてのエイリアスを印刷します。
keytool -list -keystore my-signing-key.keystore
エイリアスとその証明書のフィンガープリントのリストが表示されます。
android_key, Jan 23, 2010, PrivateKeyEntry,
Certificate fingerprint (MD5): B3:4F:BE:07:AA:78:24:DC:CA:92:36:FF:AE:8C:17:DB
出来上がり!これで、apkがこのキーストアとエイリアス「android_key」で署名されていると判断できます。