Categories
discuss

How to correctly re-compile an apk file?

i was trying to inspect an .apk file for a project, so i decided to decompile it using APKtool using:

apktool d name.apk

I find what i wanted, changed it (i modified just a bunch of .json file and some .png, all in the /assets folder), but after re-building it with

apktool b name -o new.apk

I had some problems in installing the app on my device. Any suggestions?

It could be the signature of the .apk, according to other similar questions. But none of those explain the method to sign the .apk file in a correct way.

Answer

The following is for your reference


Compile, decompile and sign APK using apktool utility.

  1. Download latest apktool version.

  2. Download the batch file and aapt.exe.

  3. Create a folder anywhere in the PC and put all the apktool.jar, aapt.exe and the batch script in that folder.

  4. Open command prompt.

  5. Navigate to the folder where you placed apktool.jar, batch script and the aapt.exe.

  6. Now, you need to install the file using the ” IF ” command.

  7. Type the following command.

    apktool if name-of-the-app.apk

  8. For decompiling use the command “d”. The “d” stands for decompile.

    apktool d name-of-the-app.apk

  9. After the app is correctly decompiled, a new folder will be created in the same folder where you placed your app. This contains all the xml’s and smali files which can be edited for different mode’s.

  10. To recompile the app use the following command ” B “. The “b” simply means recompile.

    apktool b name-of-the-app-folder

  11. The final modded app will be in the “dist” folder located inside the original app folder created by apktool.

Signing the apk

  1. open a new command prompt and change into the sign-apk directory using cmd

  2. move the modified-unsigned apk into this folder

  3. then type the following command –

    java -jar signapk.jar certificate.pem key.pk8 path-of-the-folder-contaning-the-apk.apk path-of-the-new-signed-apk.apk

  4. Once compiled, the signed apk will be found in the same folder.

Source: stackoverflow
Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this site, you agree to the Privacy Policy, and Copyright Policy. Content is available under CC BY-SA 3.0 unless otherwise noted. The answers/resolutions are collected from stackoverflow, are licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0 © No Copyrights, All Questions are retrived from public domain..