Opens the full Fire TV settings screen from any launcher.
For Projectivy Launcher and other Fire TV home-screen replacements.
If you use a third-party launcher like Projectivy on a Fire TV, its "Android settings" button just flashes and
takes you back. Fire OS sends the standard android.settings.SETTINGS intent to Amazon's home screen, and the
launcher intercepts that and returns you home.
Fire Settings is a tiny app with a TV banner. Pin it to your home row, press it, and you get the real Fire TV settings screen.
- No UI: it opens settings and closes in the same moment, so nothing flashes on screen.
- No permissions and no tracking. The app is about 30 lines of Java.
- Fallback: if Amazon's settings screen isn't there, it opens the standard Android settings screen instead.
-
Download
FireSettings-vX.Y.apkfrom the latest release. -
Install it with ADB:
adb connect <fire-tv-ip> adb install -r FireSettings-v1.0.apk
Or install it with a sideloading app such as Downloader.
-
In Projectivy (or your launcher), add Fire Settings to your home row.
It runs on Fire OS 5 and newer (minSdk 22). It has been confirmed on a current Fire TV Stick with Projectivy Launcher.
The app has one Activity with Theme.NoDisplay. It launches
com.amazon.tv.launcher/.ui.MainSettingsActivity
with FLAG_ACTIVITY_NEW_TASK. If that fails, it falls back to android.settings.SETTINGS. Then it calls
finish(). That's the whole app: MainActivity.java.
To check that the target screen exists on your device:
adb shell am start -n com.amazon.tv.launcher/.ui.MainSettingsActivityNo Gradle and no Android Studio. The build uses plain javac, dx, aapt, zipalign and apksigner from
Ubuntu's own packages, so it also builds natively on ARM64 (for example a Raspberry Pi or an Oracle Ampere
server), where Google's SDK build-tools don't run.
sudo apt install openjdk-17-jdk-headless aapt apksigner zipalign dalvik-exchange android-sdk-platform-23
./build.shThe output is out/FireSettings.apk.
Important
On the first run, build.sh creates a signing key in keystore/ (git ignores it). Back it up.
Android only installs an update over an existing install when both are signed with the same key.
The icon and banner are drawn by tools/make_images.py (needs Pillow):
python3 tools/make_images.py res/drawable-xhdpi docsβββ AndroidManifest.xml # LAUNCHER + LEANBACK_LAUNCHER, banner, NoDisplay theme
βββ src/local/firesettings/
β βββ MainActivity.java # the whole app
βββ res/drawable-xhdpi/ # 96Γ96 icon, 320Γ180 TV banner
βββ tools/make_images.py # generates the icon and banner
βββ build.sh # Gradle-free build + signing
βββ .github/workflows/build.yml # CI build on every push
The target activity comes from dkreye/fire-settings, which solves the same problem. This is an independent minimal rewrite with a Gradle-free build.
