How to Install SmartTube Without Google Services: The Complete Guide
SmartTube supports a dedicated stfdroid build flavor that never applies the Google Services plugin, allowing you to run the app on Android TV devices without any Google Play Services dependency.
SmartTube is an open-source Android TV application designed to work independently of Google's ecosystem. According to the yuliskov/SmartTube source code, the project explicitly separates Google Services-dependent code from the core application through Gradle build flavors, making it possible to install SmartTube without Google Services on any compatible device.
Understanding the stfdroid Build Flavor
The SmartTube project uses product flavors in smarttubetv/build.gradle to control dependencies. The stfdroid flavor is specifically configured to exclude Google Play Services entirely.
In smarttubetv/build.gradle, lines 33-38 contain conditional logic that only applies the Google-services plugin for the beta and stable flavors. The stfdroid flavor defined at lines 60-75 uses the applicationId app.smarttube.fdroid and strategically skips the Google-services plugin application, even if a google-services.json file is present in the directory.
This architectural decision ensures that APKs built with the stfdroid flavor contain no Firebase, Crashlytics, or Google Play Services code, providing a completely de-Googled experience.
Method 1: Install the Pre-Built F-Droid APK
The simplest way to install SmartTube without Google Services is to download the official F-Droid release APK.
Download the APK
Visit the releases page and locate the asset named smarttube_fdroid.apk corresponding to the latest version. Alternatively, use the command line:
# Replace <VERSION> with the latest release tag (e.g., 22.95)
wget https://github.com/yuliskov/SmartTube/releases/download/<VERSION>/smarttube_fdroid.apk
Install via ADB
Connect your Android TV device via ADB and install the APK:
adb install -r smarttube_fdroid.apk
This method deploys the official stfdroid build that is permanently free of Google Services dependencies.
Method 2: Build the stfdroid Flavor from Source
For developers or users wanting complete control, building the stfdroid flavor from the yuliskov/SmartTube repository ensures you compile the latest code without any Google Services integration.
Prerequisites
Ensure you have the Android SDK, Gradle, and Git installed on your build machine. You will need approximately 10GB of free space for the build process.
Build Commands
Clone the repository and initialize submodules:
git clone https://github.com/yuliskov/SmartTube.git
cd SmartTube
git submodule update --init
Optionally remove the google-services.json file to prevent accidental inclusion during other builds:
rm smarttubetv/google-services.json
Compile the debug version for immediate installation:
./gradlew clean installStfdroidDebug
Or build a release APK for distribution:
./gradlew clean assembleStfdroidRelease
The resulting APK will be located at:
smarttubetv/build/outputs/apk/stfdroid/release/smarttube_fdroid-<VERSION>.apk
Key Source Files
Understanding these files helps verify the Google Services exclusion:
smarttubetv/build.gradle: Contains the conditional logic at lines 33-38 that restricts Google Services to beta/stable flavors, and thestfdroidflavor definition at lines 60-75.smarttubetv/google-services.json: Standard Firebase configuration file that is ignored duringstfdroidbuilds.settings.gradle: Manages sub-project inclusion without adding Google Services dependencies for the F-Droid flavor.
Summary
- SmartTube provides the
stfdroidproduct flavor specifically for Google-free installations. - The Gradle configuration in
smarttubetv/build.gradleexplicitly prevents Google Services plugin application for this flavor. - Users can either download pre-built
smarttube_fdroid.apkreleases or compile from source using./gradlew assembleStfdroidRelease. - This architecture ensures zero Google Play Services code executes on your Android TV device.
Frequently Asked Questions
Will SmartTube function normally without Google Services?
Yes. The stfdroid flavor removes only the proprietary Google components (Firebase analytics, Crashlytics, and Google Play Services integrations). All core video playback, UI navigation, and SmartTube-specific features function identically to the standard build.
Is the stfdroid flavor available on F-Droid's official repository?
While the APK is named smarttube_fdroid.apk indicating F-Droid compatibility, you should check the yuliskov/SmartTube releases page directly for the latest builds. The source code is structured to meet F-Droid inclusion standards by completely excluding non-free dependencies.
Can I switch from the standard version to the stfdroid version without losing data?
Yes, provided you uninstall the standard version first. Both flavors use different applicationId values (app.smarttube.fdroid vs app.smarttube.tv), allowing them to coexist as separate apps. However, to migrate settings, you must manually back up and restore configurations, as Android treats them as distinct applications.
What Android versions support the stfdroid build?
The stfdroid flavor maintains the same minimum SDK requirements as the standard build, typically Android 5.0 (API level 21) or higher. Since it removes Google Services dependencies, it often performs better on older devices or custom ROMs like LineageOS that lack Google Mobile Services.
Have a question about this repo?
These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:
curl -s "https://instagit.com/install.md" Maintain an open-source project? Get it listed too →