forked from distok/cutthecord
- Support for new channel type (news) is added - New color: primary_660, not used anywhere - `switch_thumb_normal_material_light` is no longer top bar color, this will affect customtheme's top bar, I'll fix it when I find time. - crashlytics was updated (ahhhhhhhhhhhh) - fabric was updated (ahhhhhhhhhh) - drainEventsQueue from analytics was rewritten (ahhhhhhhhhhhhhhhhh)
53 lines
3 KiB
Markdown
53 lines
3 KiB
Markdown
# cutthecord
|
|
|
|
Discord Android app patches.
|
|
|
|
**Latest supported Discord Android version:** 8.5.3 (853), released on 2019-03-01.
|
|
|
|
New patch development will be done for the latest supported version.
|
|
|
|
## Binaries
|
|
|
|
An F-Droid repo is available on https://fdroid.a3.pm/seabear/repo/.
|
|
|
|
You can add that to your phone and get updates easily or just download directly from there.
|
|
|
|
**You will need to uninstall any and all existing Discord or CutTheCord applications from your phone before installing one, or else installation will fail.**
|
|
|
|
Feel free to ignore play protect, it's bullshit.
|
|
|
|
## Building
|
|
|
|
#### Toolchain setup
|
|
|
|
- Get apktool (due to [a bug](https://github.com/iBotPeaches/Apktool/issues/1909) present on apktool v2.3.4, I recommend using [this build](https://elixi.re/i/cq4r2zxg.jar))
|
|
- Get a keystore, see [here](https://stackoverflow.com/a/14994354/3286892), step 1.
|
|
- If you want Mutant Standard emoji patches, get 72x72 copies of latest version of mutant standard emojis with codepoints. I have a zip [here](https://mutant.lavatech.top/72x72.zip).
|
|
- Extract the emojis you got somewhere.
|
|
- Clone this repo somewhere, edit `emojireplace.py` and set the `extracted_mutstd_path` folder to the folder you just extracted emojis to.
|
|
|
|
#### Building a patched discord app
|
|
|
|
- Get a Discord apk (*cough* [apkmirror](https://www.apkmirror.com/apk/discord-inc/discord-chat-for-gamers/), [aptoide API](https://ws75.aptoide.com/api/7/app/getMeta?package_name=com.discord)).
|
|
- Extract it with apktool (`apktool d <apk path>`)
|
|
- Get all the necessary patches for that version. Necessary patches are not available for all versions and are only required to get some versions to pack together correctly.
|
|
- Get optional patches you want for your version. If the patch you want isn't available for your version, you'll have to port them yourself.
|
|
- Apply the patches (`patch -p1 < <patch name>`).
|
|
- If you want mutant (or other emoji patches), edit `patches/mutant/emojireplace.py` to point to extracted discord folder (`extracted_discord_path`), and apply emoji patches (`python3 emojireplace.py`)
|
|
- Build the new APK (`apktool b com.discord-832`)
|
|
- Sign the new APK (`jarsigner -keystore <keystore path> <foldername>/dist/<foldername>.apk <alias>`)
|
|
- Get your new APK from `<foldername>/dist/<foldername>.apk`, install and enjoy!
|
|
|
|
#### Building patches
|
|
|
|
After extracting the APK, copy it to a folder that you won't modify (`cp -r com.discord-836 com.discord-836-base`), so that you can easily diff them.
|
|
|
|
To get the diff, run `diff -crB -x "dist" -x "res/raw" -x "build" CleanFolder PatchedFolder > patchname.patch`
|
|
|
|
#### Porting patches
|
|
|
|
You can use `patchport` to easily attempt to port patches.
|
|
|
|
It's not really intelligent and doesn't do much more than just checking if an existing patch can be applied to a given version (it also replaces relevant variables required for porting various patches), but it saves a lot of time if used carefully.
|
|
|
|
Example command: `python3 patchport.py 839 8.3.9g /home/ave/Downloads/dic/com.discord-841 /home/ave/Projects/cutthecord/`
|