How To Add Bttv To Twitch App
bttv-android
A mod of the Twitch Android Mobile App adding BetterTTV and FrankerFaceZ emotes
This project is not affiliated to Twitch Interactive Inc, NightBot LLC or Dan Salvato LLC! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND!
Install
- Scim through this guide on how to enable third party app istallations
- Go to the latest release page and download the
.apkfile of the mod. It periodically checks for new releases so you only have to download it once from there.
Build it yourself
This patch is meant to be applied to version 10.8.0 of the official twitch app Make sure you use this version before you create an issue!
Easy way: Docker
Prerequisites:
Docker
How to:
-
Clone this repo
-
Get the Twitch App's apk files (e.g from here, or here)
Please make sure you get it from a non-shady source!
If you have downloaded a single
.apkfile, name ittwitch.apkIf you have downloaded a bundle of
.apkfiles put them in a.ziparchive and name ittwitch.zipNote: Apkmirror publishes bundles as
.apkmfiles, those are justzipfiles, so rename them totwitch.zip -
Run the builder:
docker run --rm -ti \ -v path/to/twitch.apk:/usr/build/twitch.apk \ -v /path/to/dist:/usr/build/dist \ -v path/to/monke.patch:/usr/build/monke.patch \ -v /path/to/mod:/usr/build/mod \ ghcr.io/bttv-android/builderIf you are in the same directory as the apk file you can copy and paste:
docker run --rm -ti \ -v $(pwd)/twitch.apk:/usr/build/twitch.apk \ -v $(pwd)/dist:/usr/build/dist \ -v $(pwd)/monke.patch:/usr/build/monke.patch \ -v $(pwd)/mod:/usr/build/mod \ ghcr.io/bttv-android/builder -
The
distdirectory will contain the patched apk file! -
Transfer to device and install apk
-
Remove the builder again:
docker rmi ghcr.io/bttv-android/builder
Hard way
Prerequisites:
| Tool | Env variable | Default |
|---|---|---|
| Bash | Has to be in /bin | |
| Git | Has to be in PATH | |
| Java JDK | JAVA_PATH and JAVAC_PATH | java and javac (from PATH) |
| Android SDK or install using Android Studio | BUILDTOOLS_PATH | ~/Android/Sdk |
| ApkTool | APKTOOL_PATH | /opt/apktool/apktool.jar |
| Uber APK Signer | UBER_APK_SIGNER_PATH | /opt/uber-apk-signer/uber-apk-signer-1.2.1.jar |
| Baksmali | BAKSMALI_PATH | /opt/baksmali/baksmali-2.4.0.jar |
| public-fixer | PUBLIC_FIXER | /opt/public-fixer |
How to:
If you get stuck at any point, just remove the
disassdir and try again
- Download and install prerequisites
- Get the Twitch App's apk files (e.g from here), drop them zipped in this directory and call it "twitch.zip"
Please make sure you get it from a non-shady source! If you have adb installed follow this guide (Method 3)
- The
./initworkspacescript will disassemble the apks, build the sources, apply monkey patches and build the new apk for you - Transfer to device and install apk
(Adb installed and device connected? Try the :
./installscript)
For contributers
Read the patch it yourself part (the hard way) above aswell!
Do the following once:
- Intialize the workspace as described above
- Rename
disasstoextracted - Now you can build the java source code in (
mod) using./buildsource extracted. It will automaticly dex the class files and baksmali them. I recommend to scim through the script so you can set your environment variables. - Build your new changes using the
./build extractedscript. - Open an emulator and run
./install
Please only modify or add java files in the bttv package! Others won't be compiled anyway. In case you need to apply a monkeypatch (i.e. edit smali files (not in the bttv package) in
extracteddirectly) read the instructions below. Never check in theextractedordisassdirectories for legal reasons
Overview
bttv/ ├─ initworkspace - used to set up everything ├─ buildsource - used to build the java sources ├─ build - re-assembles the 'extracted' dir ├─ decompile - you need JADX to use this ├─ install - install the result of build on a device (using adb) ├─ monke.patch - contains monkey patches ├─ genmonke - script that generates the monke.patch based on extracted (more below) ├─ extracted/ - renamed from disass │ ├─ AndroidManifest.xml │ ├─ res/ │ ├─ smali_classes0-10/ - contains disassembled app + bttv code │ ├─ dist/ │ │ ├─ twitch.apk - the final app ├─ mod/ - java sources for patches │ ├─ app/ - sources for the mod | ├─ twitch/ - stubs so we can call twitch's classes genmonke
During initialization the disass / extraced dir is initialized with an empty git repo. Right after the disassemblement the first commit is made and tagged "base". This is used to generate the patch file. monke.patch is thus the result of a diff between master and base.
Only source changes
You need to nothing else, you can commit your code and start a pull request!
Monkey patch changes
Run ./genmonke
Best practices for contributers
Please also read the architecture.md file!
Everytime you get a new version of the code (e.g. using git pull or git checkout) remove extraced and run ./initworkspace again.
How To Add Bttv To Twitch App
Source: https://androidrepo.com/repo/bttv-android-bttv-android-media
Posted by: raineyprilloomply1968.blogspot.com

0 Response to "How To Add Bttv To Twitch App"
Post a Comment