Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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.

like image 604
Mattia Monari Avatar asked Feb 24 '21 16:02

Mattia Monari


1 Answers

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.

like image 170
shirley Avatar answered Sep 20 '22 02:09

shirley