2016-02-03 134 views
4

我正在尝试签署未签名的APK。我跟着this link无法签署未签名的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: unable to open jar file: HelloWorld-release-unsigned.apk

然后我跟着this link

  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(有问题)

的问题是:

Illegal option: -my-release-key.keystore

谁能帮我。谢谢。

回答

5

您需要删除-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,我会在谷歌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 

请注意,我创建了dir。带有.keystore证书的certificates以及目录。 releases/android我保存所有签名的apk版本。

生成一个新的keystore请用一个新password

keytool -genkey -v -keystore certificates/my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000 
+0

当我使用这个去掉'-' ='$ jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 my-release-key.keystore F:\ mobile \ moto \ whatever_path_is_to_your_apk_file \ HelloCordova-release-unsigned.apk alias_name'告诉我'唯一可以指定的别名' – syareen

+0

然后我试了这个'jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore -storepass try -keypass try C:\ Users \ Users \ desktop \ try \ platform \ android \ build \ outputs \ apk \ android-release- unsigned.apk尝试它'告诉我'jarsigner错误:java.lang.RuntimeException:密钥库加载:密钥库被调和,或密码不正确' – syareen

+0

我更新了我的答案添加命令以生成一个新密码的新密码文件。 – manzapanza

0

关注你@manzapanza已经写了,我也只好从http://dl.dropbox.com/u/34706306/zipalign 移动的zipalign下载的zipalign到安卓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