署名されていないAPKに署名しようとしています。私は このリンク をたどった。
私のステップ:
$ cordova build --release Android
(成功)$ keytool -genkey -v -keystore my-release-key.keystore -alias alias_name - keyalg RSA -keysize 2048 -validity 10000
(成功)$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore HelloWorld-release-unsigned.apk alias_name
(問題が発生しました)問題は:
jarsigner:jarファイルを開くことができません:HelloWorld-release-unsigned.apk
それから私は このリンク をたどった。
$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -my-release-key.keystore F:\mobile\moto\whatever_the_path_is_to_your_apk_file\HelloCordova-release-unsigned.apk alias_name
(問題が発生しました)問題は:
不正なオプション:-my-release-key.keystore
誰かが私を助けることができますか?ありがとうございました。
keystore
fileの前にある-
を削除し、フラグ-keystore
を追加する必要があります。
$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore F:\mobile\moto\whatever_the_path_is_to_your_apk_file\HelloCordova-release-unsigned.apk alias_name
通常、私はこれらのコマンドを使用して、GooglePlayストアで公開するrelease build apk
を生成します。
cd ~/Projects/myappname/
cordova build Android --release
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore certificates/myappname-cert.keystore -storepass myappname -keypass myappname platforms/Android/ant-build/CordovaApp-release-unsigned.apk myappname
jarsigner -verify -verbose -certs platforms/Android/ant-build/CordovaApp-release-unsigned.apk
~/Android-sdk-macosx/build-tools/21.1.2/zipalign -v 4 platforms/Android/ant-build/CordovaApp-release-unsigned.apk releases/Android/myappname1.0.0.apk
Dirを作成したことに注意してください。 certificates
と.keystore証明書、およびdir。 releases/Android
ここで署名済みのapkリリースをすべて保存します。
新しいkeystore
を含む新しいpassword
ファイルを生成するには:
keytool -genkey -v -keystore certificates/my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
keytool、jarsigner、zipalignを使用してCorodva apkに署名する手順は次のとおりです:
keytool -genkey -v -keystore Android.keystore -alias Android_app -keyalg RSA -keysize 2048 -validity 10000
keytool -importkeystore -srckeystore Android.keystore -destkeystore Android.keystore -deststoretype pkcs12
Project_root_dirにAndroid.keystore(pkcs12あり)およびAndroid.keystore.old(pkcs12なし)の2つのファイルが作成されます。
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore Android.keystore app-release-unsigned.apk Android_app
初めて以下のエラーが発生します:
jarsigner:jarファイルを開くことができません:app-release-unsigned.apk
次に、.apkファイルをから移動する必要があります
/ Project_root_dir/platforms/Android/app/build/outputs/apk/release/app-release unsigned.apk
にProject_root_dir /
次に、上記のjarsignerコマンドを再度実行すると、apkに正常に署名されます。
zipalign -v 4 app-release-unsigned.apk app-release.apk
APKは正常に署名されています。Playストアで公開できます。
これがお役に立てば幸いです。
プロジェクトのルートディレクトリですべてのコマンドを実行する必要があります。重要なことは、$ cordova build --release Android
をAwesomeProject\platforms\Android\app\build\outputs\apk\release
からプロジェクトのルートディレクトリに実行した後、apkファイルを移動する必要がありますです。
このパスに従って、キーストア名とエイリアス名を入力してください。-
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystoresalonify-release-key.keystoreplatforms/Android/app/build/outputs/apk/release/app-release-unsigned.apksalonify
次のように、相対パスの代わりに絶対パスを使用してください。
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore myApp.keystore E:\myApp\platforms\Android\app\build\outputs\apk\release\app-release-unsigned.apk myApp
@manzapanzaが書いたことに従ってください、私もzipalignをダウンロードする必要がありました http://dl.dropbox.com/u/34706306/zipalign zipalignをAndroid mv /Users/YOUR_USER_NAME/Downloads/zipalign /Users/YOUR_USER_NAME/Library/Android/sdk/tools
実行権限を付与します:
chmod 777 /Users/YOUR_USER_NAME/Library/Android/sdk/tools/zipalign
コマンドjarsignerを実行します:jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore yourkeystore.jks app-release-unsigned.apk aliayourkeystore