ππ§© Patchweaver
September 10, 2026 Β· View on GitHub
ππ§© 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 backend | Adds 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
.mppfile is found inpatches/build/libs/patches-*.mpp - Patch the
.mppfile using Morphe Desktop like any other patch bundle, or withapply-toolin 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
devbranch. - Always use semantic commit
messages:
feat:a new feature,fix:a fixed problem,chore:anything not user-facing. - Commits of
fix:andfeat:automatically generate a new pre-release;chore:does not. - Others can apply
devbranch releases by enablingpre-releasein Morphe Manager patch sources. - When
devis ready for a stable release, merge it intomain(no squash, merge only). - Always use semantic release (
release.yml) β don't manually upload or create releases; it updatespatches-list.json,patches-bundle.json, andCHANGELOG.mdfor you.
π€ Tips
- See the patcher documentation for more on writing patches and fingerprints.
- Don't hand-edit
patches-list.json,patches-bundle.json, orCHANGELOG.mdβrelease.ymlregenerates 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.