Skip to content

feat: Automate APK patching, signature injection, and installation workflow #681

Closed

Description

@Rat-Man-1015

Feature Description

Add an option to automate the workflow between APK patching and the APK signature tools.

After an APK is patched and saved, the app could automatically use:

  • The original APK used during the patching process as the signature source.
  • The newly saved patched APK as the target APK.

The signature metadata could then be injected/cloned from the source APK into the patched APK without requiring the user to manually select both files again.

After the injection is completed, the resulting APK could optionally be installed automatically.

For the output APK, there could be an option to either:

  • Automatically save the injected/signed APK, preferably in the same folder as the patched APK.
  • Not save a separate output APK if the user does not need it.

Motivation

Currently, this workflow requires manually going through several steps and repeatedly selecting files that were already selected during the patching process.

For example:

  1. Patch an APK.
  2. Save the patched APK.
  3. Open the signature tool.
  4. Manually select the original APK as the signature source.
  5. Manually select the patched APK as the target.
  6. Perform the signature metadata injection.
  7. Choose whether to save the resulting APK.
  8. Install the resulting APK.

Since the app already knows which APK was used as the source and which patched APK was just created, these selections could potentially be carried over automatically.

Ideally, the workflow would become:

Patch → Save → Inject/Clone Signature → Optionally Save → Install

Would it also be possible to associate these settings/actions with a patch profile, so that the entire workflow can be configured per profile?

The implementation can of course follow whichever approach fits the existing architecture better.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions