我正在尝试对未签名的 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
文件前面的-
去掉,加上flag -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 版本。
使用新的密码
生成新的keystore
文件:
keytool -genkey -v -keystore certificates/my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
关于android - 无法签署未签名的 APK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35173542/