πŸ‘‹πŸ§© Patchweaver

September 10, 2026 Β· View on GitHub

Patchweaver

πŸ‘‹πŸ§© Patchweaver

Personal collection of Morphe patches. F-Droid is the first one in here β€” more may get added over time as I patch other apps I use.

❓ About

Patches for apps I like.

How to use these patches

Click here to add these patches to Morphe: https://morphe.software/add-source?github=ispacecase/patchweaver

🩹 Patches list

v1.0.0Β Β β€’Β Β mainΒ Β β€’Β Β 1 patches total

πŸ“¦ F-DroidΒ Β β€’Β Β 1 patch

🎯 Supported versions:

1.23.2
πŸ’ŠΒ PatchπŸ“œΒ Descriptionβš™οΈΒ Options
Selectable install backendAdds a setting to choose how F-Droid installs APKs: system default, Shizuku, InstallerX, or a custom installer package.

πŸ› οΈ Building locally

This repo resolves app.morphe.patches (the Gradle plugin) and app.morphe:morphe-patcher from GitHub Packages, which requires an authenticated GitHub token even for public packages:

export GITHUB_TOKEN="$(gh auth token)"
export GITHUB_ACTOR="$(gh api user --jq .login)"

(a token needs the read:packages scope β€” gh auth refresh -s read:packages adds it). A flake.nix/.envrc are included for nix develop/direnv users, which export these automatically.

  • Run ./gradlew buildAndroid
  • The built patches .mpp file is found in patches/build/libs/patches-*.mpp
  • Patch the .mpp file using Morphe Desktop like any other patch bundle, or with apply-tool in this repo if you don't have that set up:
./gradlew :apply-tool:installDist

# Generate a signing key once, if you don't have one:
keytool -genkeypair -keystore debug.keystore -alias patchweaver \
  -keyalg RSA -keysize 2048 -validity 10000 -storepass patchweaver -keypass patchweaver \
  -dname "CN=patchweaver"

./apply-tool/build/install/apply-tool/bin/apply-tool \
  path/to/input.apk patches/build/libs/patches-*.mpp output.apk \
  debug.keystore patchweaver patchweaver patchweaver

See the Morphe documentation for more information.

πŸ§‘β€πŸ’» Dev usage

  • Make all changes to the dev branch.
  • Always use semantic commit messages: feat: a new feature, fix: a fixed problem, chore: anything not user-facing.
  • Commits of fix: and feat: automatically generate a new pre-release; chore: does not.
  • Others can apply dev branch releases by enabling pre-release in Morphe Manager patch sources.
  • When dev is ready for a stable release, merge it into main (no squash, merge only).
  • Always use semantic release (release.yml) β€” don't manually upload or create releases; it updates patches-list.json, patches-bundle.json, and CHANGELOG.md for you.

πŸ€“ Tips

  • See the patcher documentation for more on writing patches and fingerprints.
  • Don't hand-edit patches-list.json, patches-bundle.json, or CHANGELOG.md β€” release.yml regenerates them.
  • Don't force-push over a semantic-release commit; it breaks future releases. If a release needs fixing, cut a new one instead.

πŸ“œ License

Patchweaver is licensed under the GNU General Public License v3.0, with additional conditions under GPLv3 Section 7 β€” see NOTICE.