No description
  • Rust 75.4%
  • Kotlin 20.5%
  • TypeScript 3%
  • Java 0.3%
  • JavaScript 0.3%
  • Other 0.4%
Find a file
2026-10-28 02:26:45 +05:30
.cargo perf(browser): batch DEX backpatches and enable WASM SIMD 2026-10-02 22:20:49 +05:30
.github chore: move donations page to /donate 2026-10-20 13:44:02 +05:30
app-runtime refactor: restructure the engine by domain and move code emission into rust 2026-10-27 22:01:55 +05:30
browser fix(model): keep patch references in their bundle/id text form on every wire format, so published indexes stay readable 2026-10-27 22:17:13 +05:30
build-support chore: relicense under AGPL-3.0-or-later with section 7 terms 2026-10-07 04:51:51 +05:30
crates fix(sign): save credentials without hard links 2026-10-28 02:26:45 +05:30
docs docs: rewrite the patch author guide and cover every public API in the reference 2026-10-28 01:03:58 +05:30
gradle feat(patch-api): provide the settings screen and branded components from the engine, per bundle, and find enum constants by name 2026-10-12 20:08:02 +05:30
gradle-plugin refactor: restructure the engine by domain and move code emission into rust 2026-10-27 22:01:55 +05:30
LICENSES feat(patch-api): provide the settings screen and branded components from the engine, per bundle, and find enum constants by name 2026-10-12 20:08:02 +05:30
patch-api docs: rewrite the patch author guide and cover every public API in the reference 2026-10-28 01:03:58 +05:30
sdk fix(sign): keep non-signature signing block pairs when re-signing 2026-10-27 22:49:52 +05:30
sdk-kotlin fix(sdk): keep the generated bindings in apps that minify the SDK 2026-10-25 04:01:07 +05:30
tests/kotlin-runtime-bundle refactor: restructure the engine by domain and move code emission into rust 2026-10-27 22:01:55 +05:30
vendor/boltffi_macros feat(browser): run SDK patching with WASI and CheerpJ 2026-10-02 21:23:11 +05:30
xtask refactor: restructure the engine by domain and move code emission into rust 2026-10-27 22:01:55 +05:30
.boltffi-version feat: rewrite the engine and build the CLI and SDK for Windows 2026-10-02 02:00:14 +05:30
.gitignore feat(browser): publish the SDK as @reseam/browser without a bundled UI 2026-10-03 01:47:17 +05:30
AGENTS.md docs(agents): require docs updates with every user-facing change and set their structure and tone 2026-10-28 01:16:03 +05:30
build.gradle.kts feat(patch-api): provide the settings screen and branded components from the engine, per bundle, and find enum constants by name 2026-10-12 20:08:02 +05:30
Cargo.lock chore: release v0.33.0 2026-10-27 23:51:41 +05:30
Cargo.toml chore: release v0.33.0 2026-10-27 23:51:41 +05:30
clippy.toml feat: rewrite the engine and build the CLI and SDK for Windows 2026-10-02 02:00:14 +05:30
gradle.properties feat: rewrite the engine and build the CLI and SDK for Windows 2026-10-02 02:00:14 +05:30
gradlew refactor: host-owned trust, engine-stamped bundles, one gradle build for the sdks 2026-09-05 22:19:41 +05:30
gradlew.bat refactor: host-owned trust, engine-stamped bundles, one gradle build for the sdks 2026-09-05 22:19:41 +05:30
justfile refactor: restructure the engine by domain and move code emission into rust 2026-10-27 22:01:55 +05:30
LICENSE chore: relicense under AGPL-3.0-or-later with section 7 terms 2026-10-07 04:51:51 +05:30
NOTICE chore: relicense under AGPL-3.0-or-later with section 7 terms 2026-10-07 04:51:51 +05:30
README.md docs: replace STYLE.md with an AGENTS.md that describes the codebase and how to change it 2026-10-27 22:31:53 +05:30
REUSE.toml chore: relicense under AGPL-3.0-or-later with section 7 terms 2026-10-07 04:51:51 +05:30
rust-toolchain.toml feat: rewrite the engine and build the CLI and SDK for Windows 2026-10-02 02:00:14 +05:30
rustfmt.toml feat: rewrite the engine and build the CLI and SDK for Windows 2026-10-02 02:00:14 +05:30
settings.gradle.kts feat(patch-api): provide the settings screen and branded components from the engine, per bundle, and find enum constants by name 2026-10-12 20:08:02 +05:30

Reseam logo

Reseam

Website · Docs · Download

Reseam applies community-built patches to Android apps. This repository is the engine behind it: the code that reads an app, runs patches on it, and signs the result. Reseam Manager, the reseam CLI, and the browser patcher on reseam.app all use it.

APK parsing, DEX editing, and signing are written in Rust. Patches are written in Kotlin. They run on the JVM on desktop, on Android's runtime on phones, and on CheerpJ in the browser.

Docs for patch authors and the CLI are at reseam.app/docs. Their sources are docs/ and crates/cli/docs/.

Layout

Path
crates/bytes bounds-checked little-endian fields of binary formats
crates/storage file-backed bytes and temporary storage
crates/journal savepoints and undo records for state a patch run may take back
crates/dex DEX parser, editor, and writer
crates/hermes Hermes bytecode parser, editor, linker, and writer
crates/apk APKs, split sets, APKM/XAPK, manifest, resources
crates/sign APK Signature Scheme v2 signing
crates/fixtures archives the workspace's tests build as input
crates/model requests, results, events, and errors shared by every host
crates/patcher bundles, patch planning and execution, the Kotlin bridge
crates/cli the reseam command
sdk/ the application SDK, its BoltFFI bindings (sdk/native), and its WASI build (sdk/browser)
sdk-kotlin/ the reseam-sdk Kotlin package for Android and JVM apps
patch-api/ the reseam-patch-sdk Kotlin API patches are written against
gradle-plugin/ the Gradle plugin that builds bundles
app-runtime/ the runtime patched apps carry: settings, their screens, and the bundle registry
browser/ @reseam/browser, the engine for web pages
xtask/ code generation, packaging, and releases (cargo xtask)

Build

You need the Rust toolchain in rust-toolchain.toml, JDK 17 in JAVA_HOME, and the BoltFFI CLI at the version in .boltffi-version.

cargo xtask regen patch-api   # generate the Kotlin bridge
cargo xtask runtime           # build the patch runtime jar the engine embeds
cargo build --release -p reseam-cli

Building the Android and desktop SDK needs more toolchains; see sdk/README.md. The browser package has its own steps in browser/README.md.

Checks

cargo fmt --all --check
cargo clippy --workspace --all-targets -- -D warnings
cargo test --workspace --no-fail-fast
./gradlew spotlessCheck checkKotlinAbi

How to write code here is in AGENTS.md. How the engine and the patch API talk to each other is in docs/internals/boltffi.md.

Release

cargo xtask release <version>
git push --follow-tags

This sets the version, commits, and tags v<version>. CI then publishes the CLI, both Kotlin packages, and @reseam/browser at that version.

License

AGPL-3.0-or-later, with additional terms under section 7 in NOTICE. Vendored code keeps its own license; see REUSE.toml.