Google Maps APIのAndroidアプリ(デバッグは正常に署名されました)のリリースバージョンに署名しようとしています。
keytool -list -alias cancertrials -keystore /Users/syalam/Documents/workspace/Cancer_Trials/keys/release -storepass Android -keypass cancertrials
しかし、私はエラーを受け取ります:
Java.io.IOException: Keystore was tampered with, or password was incorrect
Eclipseでアプリをエクスポートしようとすると、キーストアとパスワードが要求され、それを正しく入力しているため、パスワードが正しいと確信しています。
なぜこれに署名できないのか分かりませんか? Googleマップをリリースモードで表示する必要があります(デバッグモードで動作)。
リストを作成するだけなら、ストアパスを含める必要はないと思います。ストアパスは、リストを実行するときに表示されない秘密鍵を暗号化します。これを試してください:
keytool -list -keystore /Users/salam/Documents/yada/yada
次に、プロンプトが表示されたらキーストアのパスワードを入力します。それが機能する場合、コマンドラインでキーパスのみを試すことができます。
また、同じバージョンのJavaを使用していることを確認してください。私はそれが問題だとは思わないが、もし上記がそれを試すのを助けないなら。
どういうわけかWindowsでは、キーツールはパスワードを受け入れません。 Google Dev ConsoleのプロジェクトでクライアントIDを構成するために必要なのはSHA1パスワードのみでした。次は私のために働くようでした
keytool --list --keystore Android.jks --protected
これにより、すべてのエイリアスのSHA1キーが印刷されました。
1.6.0_29に戻すと、jdk1.6.0.31のjarsignerで同じ問題が発生し、jarsignerは正常に動作します。 jdkのバージョンに注意してください。
エイリアス名を1回確認してください。エイリアスがkeytoolエイリアス名と異なる場合は、同じエラーが発生します。つまり.
keytool -list -keystore "Path of the keystore"
このコマンドは、linux
マシンでパスワードを要求しますが、Windowsマシンでは、リストキーストアを入力するだけです。