Docs
Reseam documentation
Reseam applies community-built patches to Android apps on the device. These docs are for people who build on it.
New to writing patches? Start with Start a bundle: it copies the patch bundle template, builds it, and runs it on an app in a few minutes.
Writing patches
Start from the template, write patches in Kotlin, and publish a signed bundle.
- 01 Start a bundle Copy the template, build it, and run its patches on an app.
- 02 Your first patch Write a patch that removes a prompt from an app, build it, and test it.
- 03 How patching works What happens between picking patches and installing the patched app.
- 04 Declaring patches Name a patch, say which apps it is for, and give it options and dependencies.
- 05 Finding code Describe methods, classes, and fields by what they do, so patches survive app updates.
- 06 Pointing at instructions Select one instruction inside a method, and capture the values around it.
- 07 Changing code Add code at the start of a method, before it returns, around an instruction, or instead of it.
- 08 Manifest, resources, and files Edit the manifest, resources, XML layouts, and any file in the APK.
- 09 Testing and debugging Build, patch, and install in a loop, read what the engine reports, and find out why a patch didn't work.
- 10 Shipping your own code Write Kotlin that runs inside the patched app, and call it from patches.
- 11 Settings inside the app Add a settings screen to the patched app, so users can turn features on and off.
- 12 Reading obfuscated objects Reach a value several obfuscated classes deep, and reuse the path in any patch.
- 13 Raw bytecode Read and edit instructions and registers directly, when targets and code blocks aren't enough.
- 14 Hermes JavaScript Hook the app's JavaScript functions in a Hermes bundle, and call your TypeScript from the hooks.
- 15 Bundle projects The project layout, the files that configure it, and what the build produces.
- 16 Publishing Release a bundle so users can add it to Reseam Manager and get updates.
- 17 API: App runtime What your extensions call inside the patched app: settings, strings, and branded components.
- 18 API: Code blocks Adding code to methods, the values code blocks work with, extension bindings, and app-wide bytecode changes.
- 19 API: Gradle plugin The plugins that build a bundle, their settings, and the properties the build reads.
- 20 API: Hermes Finding and hooking JavaScript functions in a React Native app's Hermes bundle.
- 21 API: Manifest, resources, and files Reading and editing the manifest, compiled resources, XML documents, and any file in the APK.
- 22 API: Patches Declaring patches, options, and what a patch sees while it runs.
- 23 API: Raw bytecode Methods, classes, and instructions as data, for edits that targets and code blocks can't express.
- 24 API: Settings Declaring settings, the settings screen, gates, brands, and icons.
- 25 API: Targets and points Finding methods, classes, fields, instructions, and values inside obfuscated objects.
- 26 Glossary The words used across these docs.
- 27 Troubleshooting What common errors mean, and how to fix them.
CLI
Patch APKs, build bundles, and publish them from a terminal.
- 01 Overview What the reseam command does, and who it is for.
- 02 Install Download the reseam binary or build it from source.
- 03 Patch Apply patches from bundles to an APK and sign the result.
- 04 Perf Measure how long a patch run takes and how much memory it uses.
- 05 Bundle Create signing keys, pack bundles, list what is inside one, and fetch published releases.
- 06 Release Publish a release to a GitHub or Forgejo release, an S3 bucket, or a folder.
- 07 Info Print an app's package, version, and DEX, class, and method counts.
API server
Run your own instance of the server behind api.reseam.app.
- 01 Overview What the Reseam API serves, and who uses it.
- 02 Install Run your own instance with Docker or Bun.
- 03 Configuration The environment variables the API reads.
- 04 Endpoints Every route the API serves.
- 05 Announcements Post, edit, archive, and delete announcements.
- 06 Requests Patch requests, votes, comments, reports, and screening.