Re-sign an Android Apk

2019-02-06 07:34发布

问题:

How can I Re-sign an android apk. I referred to this answer Can I re-sign an .apk with a different certificate than what it came with?

but got stuck with Android Manifest.xml missing error.

回答1:

Friends I found a work around to this . Resign Android Apk using android default debug.keystore.

  1. **Open the apk in the winzip browser and not by unzipping to a folder.

  2. Delete META-INF folder .zipping again is not required.**

  3. Jarsigner -verbose -keystore debug.keystore yourapk.apk aliasname

    **Example** `-Jarsigner –verbose –keystore debug.keystore androiddebugkey.`
    
  4. jarsigner -verify yourapk.apk

  5. zipalign -v 4 yourapk.apk signedapk.apk

Step 1 and 2 was where I was doing wrong which gave me androidmanifest xml missing error.



回答2:

Downgrading to JDK 1.6.0_43 solved the problem.

To sign apks using JDK 1.7 one has to use these keywords "-sigalg MD5withRSA -digestalg SHA1"

Reason: 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.

Command: jarsigner -verbose -sigalg MD5withRSA -digestalg SHA1 -keystore [keystorefile] [originalapk] alias_name