无法签署未签名的 APK
unable to sign the unsigned APK
我正在尝试对未签名的 APK 进行签名。我关注了this link。
我的步数:
$ 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: unable to open jar file: HelloWorld-release-unsigned.apk
然后我关注了this link。
$ 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
(有问题)
问题是:
Illegal option: -my-release-key.keystore
谁能帮帮我。谢谢。
您需要删除keystore
文件前面的-
并添加标志-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
通常我使用这些命令来生成一个 release build apk
,我将在 Google Play 商店中发布:
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
请注意,我创建了目录。 certificates
带有 .keystore 证书和目录。 releases/android
我保存所有签名的 apk 版本的地方。
用新的 password
生成一个新的 keystore
文件:
keytool -genkey -v -keystore certificates/my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
按照@manzapanza 写的,我还必须从 http://dl.dropbox.com/u/34706306/zipalign 下载 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
按照此路径,请写下您的密钥库名称以及您的别名:-
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore salonify-release-key.keystore platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk salonify
只需使用绝对路径而不是相对路径即可:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore myApp.keystore E:\myApp\platforms\android\app\build\outputs\apk\release\app-release-unsigned.apk myApp
您需要 运行 项目根目录中的所有命令,重要的是,您应该在 运行 之后移动您的 apk 文件 $ cordova build --release android
从AwesomeProject\platforms\android\app\build\outputs\apk\release
到项目根目录
使用 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 keystore格式的证书
keytool -importkeystore -srckeystore android.keystore -destkeystore android.keystore -deststoretype pkcs12
它将在 Project_root_dir 中创建两个文件 android.keystore (with pkcs12) 和 android.keystore.old (没有 pkcs12)
3. 使用 jarsigner 签署 apk:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore android.keystore app-release-unsigned.apk android_app
First time you'll get below error as:
jarsigner: unable to open jar file: app-release-unsigned.apk
那么您只需要从
移动 .apk 文件
/Project_root_dir/platforms/android/app/build/outputs/apk/release/app-release unsigned.apk
in to Project_root_dir/
然后再次运行上面的jarsigner命令,它会成功签署apk。
4。最后验证apk:
zipalign -v 4 app-release-unsigned.apk app-release.apk
您的apk已签名成功,您可以在play商店中发布它了。
希望对您有所帮助。
我正在尝试对未签名的 APK 进行签名。我关注了this link。
我的步数:
$ 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: unable to open jar file: HelloWorld-release-unsigned.apk
然后我关注了this link。
$ 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
(有问题)
问题是:
Illegal option: -my-release-key.keystore
谁能帮帮我。谢谢。
您需要删除keystore
文件前面的-
并添加标志-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
通常我使用这些命令来生成一个 release build apk
,我将在 Google Play 商店中发布:
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
请注意,我创建了目录。 certificates
带有 .keystore 证书和目录。 releases/android
我保存所有签名的 apk 版本的地方。
用新的 password
生成一个新的 keystore
文件:
keytool -genkey -v -keystore certificates/my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
按照@manzapanza 写的,我还必须从 http://dl.dropbox.com/u/34706306/zipalign 下载 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
按照此路径,请写下您的密钥库名称以及您的别名:-
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore salonify-release-key.keystore platforms/android/app/build/outputs/apk/release/app-release-unsigned.apk salonify
只需使用绝对路径而不是相对路径即可:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore myApp.keystore E:\myApp\platforms\android\app\build\outputs\apk\release\app-release-unsigned.apk myApp
您需要 运行 项目根目录中的所有命令,重要的是,您应该在 运行 之后移动您的 apk 文件 $ cordova build --release android
从AwesomeProject\platforms\android\app\build\outputs\apk\release
到项目根目录
使用 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 keystore格式的证书keytool -importkeystore -srckeystore android.keystore -destkeystore android.keystore -deststoretype pkcs12
它将在 Project_root_dir 中创建两个文件 android.keystore (with pkcs12) 和 android.keystore.old (没有 pkcs12)
3. 使用 jarsigner 签署 apk:
jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore android.keystore app-release-unsigned.apk android_app
First time you'll get below error as:
jarsigner: unable to open jar file: app-release-unsigned.apk
那么您只需要从
移动 .apk 文件/Project_root_dir/platforms/android/app/build/outputs/apk/release/app-release unsigned.apk
in to Project_root_dir/
然后再次运行上面的jarsigner命令,它会成功签署apk。
4。最后验证apk:
zipalign -v 4 app-release-unsigned.apk app-release.apk
您的apk已签名成功,您可以在play商店中发布它了。
希望对您有所帮助。