How to Sign an APK with More Than One Certificate

How to sign an APK with more than one certificate?

If you want to sign an APK more than once, just do so.

But note that Google Play does not accept APKs with multiple signatures.

eg. You can sign an APK from the command line using jarsigner like so:

jarsigner -keystore original-keystore my-app-unsigned.apk key-alias alias

Then just repeat this with the second key:

jarsigner -keystore new-signing-keystore my-app-unsigned.apk key-alias

Don't forget to run zipalign afterwards:

zipalign -v 4 my-app-unsigned.apk my-app.apk


I just re-read the part about MotoDev studio. In that case you can just sign the APK first using MotoDev as usual, then sign with your new key on the command line as above.

Sign application with several certificates

You can sign apks with different certificates if you use a different alias in the signing process.

This will create different files inside of the META-INF Folder. I don't know what the implications are for the update process inside the android market.

Can I sign my android app with multi certificates?

That is not possible. You need to republish as a new App if you plan to sign with different certificate, As stated in

http://developer.android.com/tools/publishing/app-signing.html

If you publish an app to Google Play and then lose the key with which
you signed your app, you will not be able to publish any updates to
your app, since you must always sign all versions of your app with the
same key.

Android: Signing APK with ApkSigner with multi certificate

Found the solution.

1)Get the certificate lineage usign below.

apksigner rotate --out /path/to/new/file --old-signer \ --ks my.keystore --new-signer --ks mynew.jks

2)Multi sign using both the certificate passwords.

apksigner sign --lineage mylineagefile --ks my.keystore --next-signer --ks mynew.jks my.apk

https://android.googlesource.com/platform/tools/apksig/+/refs/heads/master/src/apksigner/java/com/android/apksigner

The apk must be signed with the same certificates as the previous version

Nothing. Read the documentation: Publishing Updates on Android Market

Before uploading the updated application, be sure that you have incremented the android:versionCode and android:versionName attributes in the element of the manifest file. Also, the package name must be the same and the .apk must be signed with the same private key. If the package name and signing certificate do not match those of the existing version, Market will consider it a new application and will not offer it to users as an update.

Can I re-sign an .apk with a different certificate than what it came with?

try this

1) Change the extension of your .apk to .zip


2) Open and remove the folder META-INF


3) Change the extension to .apk


4) Use the jarsigner and zipalign with your new keystore.

hope it helps



Related Topics



Leave a reply



Submit