web-dev-qa-db-ja.com

署名されていないAPKに署名できません

署名されていないAPKに署名しようとしています。私は このリンク をたどった。

私のステップ:

  1. $ cordova build --release Android (成功)
  2. $ keytool -genkey -v -keystore my-release-key.keystore -alias alias_name - keyalg RSA -keysize 2048 -validity 10000 (成功)
  3. $ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore HelloWorld-release-unsigned.apk alias_name(問題が発生しました)

問題は:

jarsigner:jarファイルを開くことができません:HelloWorld-release-unsigned.apk

それから私は このリンク をたどった。

  1. $ 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

誰かが私を助けることができますか?ありがとうございました。

6
syareen

keystorefileの前にある-を削除し、フラグ-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
9
manzapanza

keytool、jarsigner、zipalignを使用してCorodva apkに署名する手順は次のとおりです:

1.keytoolを使用してアプリのキーストアを生成します。

keytool -genkey -v -keystore Android.keystore -alias Android_app -keyalg RSA -keysize 2048 -validity 10000

2.次に、keytoolを使用して証明書をpkcs12キーストア形式で作成します

keytool -importkeystore -srckeystore Android.keystore -destkeystore Android.keystore -deststoretype pkcs12

Project_root_dirにAndroid.keystore(pkcs12あり)およびAndroid.keystore.old(pkcs12なし)の2つのファイルが作成されます。

3. jarsignerでapkに署名します:

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に正常に署名されます。

4.最後にapkを確認します。

zipalign -v 4 app-release-unsigned.apk app-release.apk

APKは正常に署名されています。Playストアで公開できます。

これがお役に立てば幸いです。

2
mayur sarode

プロジェクトのルートディレクトリですべてのコマンドを実行する必要があります。重要なことは、$ cordova build --release AndroidAwesomeProject\platforms\Android\app\build\outputs\apk\releaseからプロジェクトのルートディレクトリに実行した後、apkファイルを移動する必要がありますです。

0
M.Daniyal Aslam

このパスに従って、キーストア名とエイリアス名を入力してください。-

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystoresalonify-release-key.keystoreplatforms/Android/app/build/outputs/apk/release/app-release-unsigned.apksalonify

0
deepak ranjan

次のように、相対パスの代わりに絶対パスを使用してください。

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore myApp.keystore E:\myApp\platforms\Android\app\build\outputs\apk\release\app-release-unsigned.apk myApp
0

@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

0
Alexiscanny