Enhancer : A powerful tool to change API level, inject assets, dex, manifest, resources & native (.so) libraries and sign the apk

:flashlight: Enhancer

A powerful tool to inject assets, dex, manifest, resources & native (.so) libraries and sign the apk.


image

:feather: Features

  • Change targetSdkVersion
  • Inject assets files
  • Inject native (.so) libraries
  • Inject dex files
  • Inject extra resources
  • Inject manifest.xml file.
  • Sign the apk using your keystore file

Installation

Note: Before installing Enhancer, make sure that you've JDK 8 or above installed.

Windows

In PowerShell, run:

iwr https://raw.githubusercontent.com/jewelshkjony/Enhancer/2.0.0/install.ps1 -useb | iex

Linux and macOS

  1. In the terminal, run:

    curl https://raw.githubusercontent.com/jewelshkjony/Enhancer/2.0.0/install.sh -fsSL | sh
    
  2. To run Enhancer write chmod +x Enhancer.sh on terminal.

Quick start

Now, that you've installed Enhancer, let's try this tool.

  1. Open the terminal and write Enhancer.
    This will show you some prompts.

    • Enter apk path: Set the path of the apk or drag the apk file here.
    • Enter keystore path: Set the keystore path or drag the keystore file here. Enhancer tool will use this keystore file to sign your apk.
    • Want to change SDK version? Y/N: Write Y if you want to change targetSdkVersion. If you've entered Y then it'll ask for enter compileSdkVersion & compileSdkVersionCodeName.
    • Want to inject assets? Y/N : If you want to inject assets file so write Y now it'll ask for the directory path of asstes files.
    • Want to inject native libraries? Y/N : If you want to inject (.so) native libraries so write Y now it'll ask for the directory path of native libraries.
    • Want to inject dex files? Y/N : If you want to inject .dex files so write Y now it'll ask for the path of dex file. If you want to inject multiple files, separate the paths with commas.
    • Want to inject extra resources? Y/N : If you want to inject any additional resources so write Y now it'll ask for resources directory path. It'll follow the name of directory to inject. If you want to inject multiple directory, separate the directory paths with commas.
    • Want to inject manifest.xml? Y/N : If you want to inject AndroidManifest.xml write Y and set the path of Manifest.xml.
  2. If you only want to sign the apk and don't want to inject anything so write N on every prompts. So the tool will skip the injecting process. When you're only signing the apk so the output apk will override the origianl apk. And if you're injecting assets or native (.so) libraries so the tool will provide a new apk (originalApk-enhanced.apk).

  3. That's it, now you can install the generated apk.

:receipt: GitHub Repository

Stay updated with this repository for updates.


:moneybag: Support Me

If you like my work you can support me here. Your support will motivate me to do better.



5 Likes

Great, Jewel. Any plan to support MacOS and Linux?

1 Like

Yes, but I'm not familiar with that OS. I'll try.

(added to FAQ)

1 Like

I've released an update for Mac and Linux. Could you test the release?

Thanks for it :+1:

1 Like

Are there any major differences/advantages to my approach here in which the Manifest (targetSdkVersion, compileSdkVersion and minSdkVersion) can of course be adjusted and the app can be re-signed?

2 Likes

Thanks a lot, will test today.

1 Like

No, here I have tried to simplify the task.

2 Likes

V2.0.0 is released.

:feather: Features


  • Change target API level.
  • Inject assets files.
  • Inject native (.so) libraries.
  • Inject dex files.
  • Inject extra resources.
  • Inject manifest.xml file.
  • Sign the apk using your keystore file.

Everyone please test it and share feedback.

1 Like