市場に出回っている Android アプリケーションを更新する必要があります。新しいapkに署名しようとしましたが、それが困難です。
私はキーストアを持っており、 を使用して正しい証明書が含まれていることを確認しましたkeytool -list -v -keystore deployment.keystore
。キーストアにはパスワードがありません。それを行ったことを覚えていませんが、これで完了です。何かを入力するとエラーが発生します。入力しないと、コマンドが受け入れられ、含まれている証明書が一覧表示されます。
ここでの問題は、エクスポート ウィザードを使用して Eclipse で apk ファイルをエクスポートしようとすると、キーストアにパスワードを設定できないため、内部にある資格情報にアクセスできないことです。そこで、キーストアのパスワードを変更しようとして、次を実行しようとしましたkeytool -storepasswd -keystore deployment.keystore
。パスワードの入力を求められましたが、空の文字列のパスワードも、設定したい新しいパスワードも受け入れられません。長さが 6 文字未満の場合は再度プロンプトが表示され、6 文字を超える場合は次のエラーが表示されますkeytool error: java.io.IOException: Keystore was tampered with, or password was incorrect
。
今、私は何をすべきか途方に暮れており、私を助けるためにSOの集合的な知識を求めています.
更新:証明書をエクスポートし、新しいキーストアに正常にインポートしました。今の問題は、Unhandled event loop exception
署名しようとすると Eclipse でエラーが発生することです。何か案は?
更新 2: Eclipse がスローしている例外を回避するためにターミナル経由でサインインしようとすると、新しい問題が発生しました。私は次のことを試みています: jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore new.keystore myApp.apk myAlias
. 新しいキーストアには証明書しかありませんが、秘密鍵がないため、実行して古いキーストアから p12 としてエクスポートしようとしていますkeytool -importkeystore -srckeystore deployment.keystore -destkeystore myKeystore.p12 -deststoretype PKCS12
。
今、私は次の警告を受けています:
** * ** * * 警告 警告 警告 * ** * ** *
srckeystore* * に保存されている情報の整合性は検証されていません! その整合性を確認するには、 * * srckeystore パスワードを提供する必要があります。
** * ** * * 警告 警告 警告 * ** * ** *
これにより、空の文字列である srckeystore のパスワードの入力が求められます。これは、私が陥ったと思われる抜け穴です。
更新 3:
コマンドを入力して、元のキーストアのパスワードを正常に変更しました-storepass
。ただし、キーストア内の実際の秘密鍵と公開鍵のペアのキーパスを求められます。私はこれらを設定したことを覚えていませんthey default to the keystore password if not set
。私の検索は続きます。
-Mr.ドレスデン