23

I have very little programming knowledge.I am able to open jar signer through the command prompt then I get various jar signer options,which i do not know how to use them.Can anyone explain me what should i type in the command prompt in order to sign the app?

user3143901
  • 243
  • 1
  • 2
  • 5

3 Answers3

41

You can find all the information you need about this topic on d.android.com: http://developer.android.com/tools/publishing/app-signing.html#signapp

jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore my-release-key.keystore
my_application.apk alias_name

One thing that cost me a few hours already, but is also mentioned in the official documentation:

As of JDK 7, the default signing algorithim has changed, requiring you to specify the signature and digest algorithims (-sigalg and -digestalg) when you sign an APK

TomTasche
  • 5,027
  • 6
  • 39
  • 64
14

Use the jarsigner as below:

jarsigner -keystore <keystore_file> -storepass <storepassword> <filenameTosigned> <alias>
Rahul
  • 3,401
  • 3
  • 13
  • 27
  • rahul bhai....i have tried the following c\programfiles\java\jdk1.7.0_45\bin\jarsigner-verbose-sigalg SHA1withRSA-digestalg SHA1-keystore myapp.apk – user3143901 Jan 30 '14 at 15:05
  • where should i put the keystore and apk files – user3143901 Jan 30 '14 at 15:05
  • Tried this. But getting a warning also, Warning: No -tsa or -tsacert is provided and this jar is not timestamped. Without a times tamp, users may not be able to validate this jar after the signer certificate's expiration date (2042-07-31) or after any future revocation date. – jrhamza Mar 27 '15 at 11:46
  • 1
    You can ignore that warning. – Ahmed Nov 17 '15 at 17:21
4

For -tsa option enter the next one:

jarsigner -verbose **-tsa http://timestamp.comodoca.com/rfc3161** -sigalg SHA1withRSA -digestalg SHA1 -keystore your_keystor_name.keystore YourAPK.apk youralias_key
tostao
  • 2,425
  • 2
  • 32
  • 54
demosthenes
  • 998
  • 1
  • 11
  • 17