bttv-android / bttv

A mod of the Twitch Android Mobile App adding BetterTTV, FrankerFaceZ and 7TV emotes
MIT License
644 stars 21 forks source link
7tv android android-modding betterttv bttv frankerfacez hacktoberfest mod twitch

license: MIT bttv version build on GitHub release (latest by date) GitHub all releases Discord

bttv-android

A mod of the Twitch Android Mobile1 App adding BetterTTV, FrankerFaceZ and 7TV emotes

This project is not affiliated to Twitch Interactive Inc, NightBot LLC, Dan Salvato LLC or the SevenTV project! THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND!

Hero image

We need you

You can help this project by contributing translations on crowdin.

Features

Known issues

Install

  1. Skim through this guide on how to enable third party app istallations
  2. Go to the latest release page and download the .apk file of the mod. It periodically checks for new releases so you only have to download it once from there. How to download
  3. (Optional) Prevent Twitch from opening when you interact with twitch.tv links: Long-press on the Twitch App -> "App Info" -> "Advanced" -> "Open by default" -> "Open supported links" -> "Ask every time" (might vary depending on OEM)

Build it yourself

This patch is meant to be applied to version 19.0.1 of the official twitch app Make sure you use this version before you create an issue!

Easy way: Docker

Prerequisites:

Docker

How to:

  1. Clone this repo

  2. 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 .apk file, name it twitch.apk

    If you have downloaded a bundle of .apk files put them in a .zip archive and name it twitch.zip

    Note: Apkmirror publishes bundles as .apkm files, those are just zip files, so rename them to twitch.zip

  3. 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/patches:/usr/build/patches \
      -v /path/to/mod:/usr/build/mod \
      -v /path/to/.all-contributorsrc:/usr/build/.all-contributorsrc \
      -v /path/to/bttv.manifest.json:/usr/build/bttv.manifest.json \
      ghcr.io/bttv-android/builder

    If 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)/.bttv-cache:/usr/build/.bttv-cache \
    -v $(pwd)/dist:/usr/build/dist \
    -v $(pwd)/patches:/usr/build/patches \
    -v $(pwd)/mod:/usr/build/mod \
    -v $(pwd)/.all-contributorsrc:/usr/build/.all-contributorsrc \
    -v $(pwd)/bttv.manifest.json:/usr/build/bttv.manifest.json \
    ghcr.io/bttv-android/builder
  4. The dist directory will contain the patched apk file!

  5. Transfer to device and install apk

  6. 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)
jq Has to be in 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
build-companion BUILD_COMPANION /opt/build-companion

How to:

If you get stuck at any point, just remove the disass dir and try again

  1. Download and install prerequisites
  2. 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)

  3. The ./initworkspace script will disassemble the apks, build the sources, apply monkey patches and build the new apk for you
  4. Transfer to device and install apk

    (Adb installed and device connected? Try the : ./install script)

This repo is mirrored on Gitlab.

Made with β™₯️ by @FoseFx and contributors. MIT License.

Contributors ✨

Thanks goes to these wonderful people (emoji key):

Max Baumann
Max Baumann

🚧
LEMIBANDDEXARI
LEMIBANDDEXARI

🌍 πŸ€” πŸ›
Stephan
Stephan

πŸ€” 🌍
Corentin Detry
Corentin Detry

πŸ› 🌍
Dione Batista
Dione Batista

🌍 πŸ›
ErΕ‘s DΓ‘niel
ErΕ‘s DΓ‘niel

πŸ›
Xslash
Xslash

🌍
Artur
Artur

🌍
YOEL_44
YOEL_44

🌍
albertopasqualetto
albertopasqualetto

🌍
kendricktsoi
kendricktsoi

🌍
ashamefuldog
ashamefuldog

πŸ€”
Zeuxis29
Zeuxis29

🌍
xplod62
xplod62

πŸ€”
colahobi
colahobi

πŸ€”
Christiano Rangel
Christiano Rangel

πŸ› πŸ€”
GauravM512
GauravM512

πŸ€” πŸ›
Dennis Magee
Dennis Magee

πŸ›
Senpai206
Senpai206

πŸ›
ReggX
ReggX

πŸ€”
ZerolCamb
ZerolCamb

🌍
Mete
Mete

🌍
splizh
splizh

🌍
Ikko Ashimine
Ikko Ashimine

πŸ“–
KeepSOBP
KeepSOBP

🌍
jhurag
jhurag

🌍
Avernys
Avernys

🌍
Jfamig
Jfamig

πŸ€”
NumbPat
NumbPat

πŸ›
Josh Roy
Josh Roy

πŸ€”
Lather0519
Lather0519

🌍
zezofelipe
zezofelipe

🌍 πŸ€”
ARTH-V-R
ARTH-V-R

πŸ›
linkmath
linkmath

πŸ›
Oleg
Oleg

πŸ›
3bood_k
3bood_k

🌍
moonMan8
moonMan8

πŸ€”
Marius Andersen
Marius Andersen

πŸ›
mklwong
mklwong

πŸ›
owwouwu
owwouwu

πŸ›
Wissididom
Wissididom

🌍
SaintKappa
SaintKappa

🌍
sassvagyok
sassvagyok

🌍
Wacra
Wacra

πŸ€”
Blueberryy
Blueberryy

🌍
Dlevda
Dlevda

πŸ›
AFranzo
AFranzo

πŸ“–
Samsa
Samsa

πŸ›
Benderosy
Benderosy

πŸ›
LtHusky1218
LtHusky1218

πŸ›
abraxas86
abraxas86

πŸ›
Ataraxia
Ataraxia

πŸ›
zakary2841
zakary2841

πŸ›
ecan18
ecan18

πŸ›
Alucard
Alucard

🌍
Zerwin
Zerwin

πŸ’»

This project follows the all-contributors specification. Contributions of any kind welcome!