Trong Lam Phan
Trong Lam Phan

Reputation: 2412

Cordova jarsigner and create new file

I use cordova 3.4.1, how can i sign a unsigned apk file and create a new file likes: AppName-release-signed.apk in /bin? Because i don't want to re-compile my app every times. Now, it seems that i signed directly onto my AppName-release-unsigned.apk.

Here it's my command line now:

 jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore /path/to/AppName-release-unsigned.apk alias_name

 zipalign -v 4 /path/to/AppName-release-unsigned.apk AppName.apk

And what i need:

 zipalign -v 4 /path/to/AppName-release-signed.apk AppName.apk

Thanks!

Upvotes: 0

Views: 1545

Answers (2)

Trong Lam Phan
Trong Lam Phan

Reputation: 2412

I've just added the option and it works

-signedjar AppName.apk

So:

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore /path/to/AppName-release-unsigned.apk -signedjar AppName.apk alias_name

That command give us a signed file named "AppName.apk" and then:

zipalign -v 4 AppName.apk AppName-final.apk

Upvotes: 2

QuickFix
QuickFix

Reputation: 11721

When you launch

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore /path/to/AppName-release-unsigned.apk alias_name

The file AppName-release-unsigned.apk gets signed (the file is modified).

Then with

zipalign -v 4 /path/to/AppName-release-unsigned.apk AppName.apk

zipalign generates the file AppName.apk in your current folder, this file being an aligned version of the file AppName-release-unsigned.apk.

So for your purpose, all you need is

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore /path/to/AppName-release-unsigned.apk alias_name
zipalign -v 4 /path/to/AppName-release-unsigned.apk /path/to/AppName-release-signed.apk

Don't you?

Upvotes: 0

Related Questions