@@ -1,6 +1,16 @@
|
||||
# X Patches
|
||||
|
||||
Local patch bundle for X (Twitter).
|
||||
Patch bundle for X (Twitter), maintained by
|
||||
[Stan Ponomarev](https://git.krtss.de/StanPonomarev).
|
||||
|
||||
## Patch
|
||||
|
||||
### Disable outdated version screen
|
||||
|
||||
Prevents X from entering its client-shutdown state when the configured minimum
|
||||
version is newer than the installed app. It also ignores shutdown state already
|
||||
persisted by an unpatched installation, restoring app access without hiding only
|
||||
the update UI.
|
||||
|
||||
## Target
|
||||
|
||||
@@ -9,38 +19,68 @@ Local patch bundle for X (Twitter).
|
||||
- Input type: APKM
|
||||
- Minimum Android API: 28
|
||||
|
||||
The current `No-op` patch intentionally makes no changes. It validates that the
|
||||
bundle builds, loads, and applies to `twitter.apkm`.
|
||||
## Prerequisites
|
||||
|
||||
## Build
|
||||
|
||||
Java 21 and GitHub Packages credentials in `~/.gradle/gradle.properties` are
|
||||
required:
|
||||
- Java 21
|
||||
- The target `twitter.apkm` in the repository root for integration testing
|
||||
- GitHub Packages credentials in `~/.gradle/gradle.properties`:
|
||||
|
||||
```properties
|
||||
gpr.user = your-github-username
|
||||
gpr.key = your-read-packages-token
|
||||
```
|
||||
|
||||
Build the bundle:
|
||||
## Build
|
||||
|
||||
```shell
|
||||
./gradlew buildAndroid
|
||||
./gradlew :patches:buildAndroid
|
||||
```
|
||||
|
||||
The output is `patches/build/libs/patches-1.0.0.mpp`.
|
||||
The bundle is written to `patches/build/libs/patches-1.0.0.mpp`.
|
||||
|
||||
## Apply
|
||||
## Integration test
|
||||
|
||||
Use the current Morphe Desktop CLI:
|
||||
```shell
|
||||
./gradlew :patches:integrationTest
|
||||
```
|
||||
|
||||
The Kotlin integration test downloads the pinned Morphe Desktop release,
|
||||
verifies its SHA-256 checksum, applies only this patch to `twitter.apkm`, and
|
||||
checks the resulting APK and Morphe patching report. The verified Morphe JAR is
|
||||
cached under `patches/build/verification/tools`.
|
||||
|
||||
## Apply manually
|
||||
|
||||
```shell
|
||||
java -jar morphe-desktop-*-all.jar patch \
|
||||
--patches patches/build/libs/patches-1.0.0.mpp \
|
||||
--exclusive \
|
||||
--enable="Disable outdated version screen" \
|
||||
--out twitter-patched.apk \
|
||||
twitter.apkm
|
||||
```
|
||||
|
||||
## Add as a Morphe patch source
|
||||
|
||||
For a local source, open **Sources → + → Local** in Morphe and select the built
|
||||
`.mpp` file.
|
||||
|
||||
After a release has populated `patches-bundle.json`, add the following address
|
||||
under **Sources → + → Remote**:
|
||||
|
||||
```text
|
||||
https://git.krtss.de/StanPonomarev/twitter-patch/raw/branch/main/patches-bundle.json
|
||||
```
|
||||
|
||||
Remote sources update automatically from the release bundle referenced by that
|
||||
metadata file.
|
||||
|
||||
## Project
|
||||
|
||||
- Repository: <https://git.krtss.de/StanPonomarev/twitter-patch>
|
||||
- Author: Stan Ponomarev
|
||||
- Contact: <contact@krtss.de>
|
||||
|
||||
## License
|
||||
|
||||
Licensed under the [GNU General Public License v3.0](LICENSE).
|
||||
|
||||
Reference in New Issue
Block a user