v1.1.1 · Maintained by dskja
An actively maintained fork of Streamflix with extra fixes, providers and UX improvements for Android TV and mobile.
Download app »
Telegram channel
·
Discord
·
Buy me a coffee
·
Patreon
·
GitHub Sponsors
·
Report Bug
·
Request Feature
Support BetterStreamflix
Personal basic costs during a tight stretch — so development can continue.
Not hosting, APIs, or servers.
Buy Me a Coffee · Patreon · GitHub Sponsors · Discord
Table of Contents
BetterStreamflix is maintained by dskja. It builds on the community Streamflix Reborn project and the original Streamflix app, with ongoing fixes and improvements.
- Active fork: Continued fixes for providers, TV playback and settings
- Same educational purpose: Open-source Android TV / mobile streaming UI
- Community channel: Updates and discussion on Telegram @BetterStreamflix
This app provides a user interface for accessing publicly available streaming content from various third-party providers. It is designed for educational purposes and personal use only. Users are responsible for ensuring they have proper authorization to access any content they view through this application.
- Open-source and ad-free interface
- Aggregates content from multiple third-party providers
- No account required for the app interface
- Educational and personal use only
- Optimized UI & UX for mobile and Android TV
- Multiple providers (incl. SerienStream via serien.domains proxy)
- Offline downloads with configurable storage location
- Chromecast queue + subtitles
- Optional Experimental UI (Lumina) and platform Integrations hub (Trakt VIP-gated, Jellyfin, Plex, …). The standalone
experimental-ui/Vite tree is an archive/prototype only — not built by Android CI (seeexperimental-ui/README.md). - Resume from last playback position
- In-app update from this repository’s releases
- Android Studio
- Kotlin
- Retrofit
- ExoPlayer / Media3
- Leanback
- Coroutines
- MVVM Architecture
- Android Architecture Components
Install Android Studio
- Clone the project
git clone https://github.com/dskja/BetterStreamflix.git- Open the project in Android Studio
Do not wait for CI release APKs while iterating. Use a local debug install — after the first build, small Kotlin/XML changes usually take seconds to a couple of minutes.
- Open the project in Android Studio
- Create
local.properties(SDK path is auto-filled by Android Studio). Optional keys:APP_LAYOUT=mobileorAPP_LAYOUT=tv(omit for universal)- API keys as needed (
TMDB_API_KEY, …)
- Select an emulator or USB device
- Click Run (debug) — or from the CLI:
./scripts/build-debug.sh # universal debug APK
./scripts/build-debug.sh mobile # mobile-only
./scripts/build-debug.sh tv install # TV-only + adb install -r
./gradlew :app:installDebug # Android Studio equivalentDebug APK output: app/build/outputs/apk/debug/.
Debug builds skip R8 minify/shrink and use application id com.dskja.betterstreamflix.debug.
| Workflow | When it runs | What you get | Typical wait |
|---|---|---|---|
| Build APKs | every push / PR (code changes) | 3 debug APKs (universal / mobile / TV) | ~5–10 min |
| PR CI | PRs + main / dskja/** |
string check, unit tests, assembleDebug | ~5–10 min |
| Build & Release APK | main, tags v*, or manual dispatch |
3 signed release APKs (R8) | ~10–15 min (parallel) |
Signed release builds no longer run on every feature-branch push. For a signed APK on a branch, run Actions → Build & Release APK → Run workflow.
Signing needs these repository Actions secrets: SIGNING_KEYSTORE_BASE64 (base64 of the .jks), SIGNING_KEY_ALIAS, SIGNING_STORE_PASSWORD, SIGNING_KEY_PASSWORD. Without them, pushes to main still upload unsigned release APKs; tagged releases fail until the secrets are set.
Contributions are welcome.
- Fork the project
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'feat: add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a pull request against dskja/BetterStreamflix
Optional support for personal basic costs so development can continue — not hosting or API costs.
| Buy Me a Coffee | https://buymeacoffee.com/betterstreamflix · https://buymeacoff.ee/betterstreamflix |
| Patreon | https://www.patreon.com/BetterStreamflix |
| GitHub Sponsors | https://github.com/sponsors/dskja |
| Discord | https://discord.gg/R4F72rMUZ8 |
| Telegram | https://t.me/BetterStreamflix |
Thank you to the people who keep BetterStreamflix going (also listed in-app under Support → Community supporters):
- Zem936 — first Buy Me a Coffee supporter
IMPORTANT: This application is for educational and personal use only.
- BetterStreamflix does not host, store, or distribute any copyrighted content
- All content is sourced from third-party providers and websites
- Users are solely responsible for ensuring they have legal rights to access any content
- The developers do not endorse or encourage copyright infringement
- Users must comply with all applicable laws in their jurisdiction
- Any legal issues should be directed to the actual content providers
- This app functions as a search engine aggregator only
- No copyrighted material is stored on our servers
- dskja — BetterStreamflix
- Telegram: t.me/BetterStreamflix
- streamflix-reborn2/streamflix — Streamflix Reborn community continuation
- Lory-Stan TANASI — Original Streamflix project
This project is licensed under the Apache-2.0 License — see the LICENSE file for details.
© 2022 Lory-Stan TANASI — original Streamflix
Built with respect for Streamflix Reborn and the original work
© 2026 dskja / BetterStreamflix