0

市場に出回っている 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.ドレスデン

4

1 に答える 1

0

いくつかの異なることを試した後、新しいキーストアからの新しいキーでアプリを再公開することになりました。ありがたいことに、それは数時間しか公開されておらず、まったく宣伝されていなかったため、影響を受けたユーザーは約 10 人だけでした。これはまだ多くの人にとってです。

このすべての後、Maven のセットアップを開始しました。すべての公開は、Maven サーバーがアプリをコンパイルして署名した後にのみ行われます。すべてがバックアップされ、すべてのパスワードが書き留められます。

于 2013-04-15T11:05:40.237 に答える