/bttv

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

Primary LanguageJavaMIT LicenseMIT

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

  • BTTV, FFZ and 7TV Emotes
  • Auto-Claim Bonus Channel Points
  • Auto Updater
  • Sleep Timer
  • Highlight Keywords
  • Split Chat
  • Anon Chat

Known issues

  • Amazon Video Watch Parties require the Twitch App to be installed on the device and the optional step in the install instructions below

  • Animated Emotes occasionally glitch on some devices

  • 7TV's zero width emotes are not supported right now

  • Personal Emotes are not supported for now

  • Users have reported that notifications are not working for them. To fix this go to "App-Info -> Open Supported Apps" and select "Only in this application".

  • bttv-android will not work on Android TVs as it is a mod of the Twitch mobile App and not of the Twitch Andorid TV App. You can install it, just do not expect a good experience

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!