As someone still rocking the Fire TV 3, I have never been a fan of the Fire OS interface, which is all about shoving ads and Prime content down the throat, while making the device nearly unusable. This could be mitigated by using a custom launcher until Amazon started cracking down on it, though fortunately I have managed to keep using one by blocking any more updates.
Thus, when I was looking for a streaming device to use with my 32″ QHD monitor, I didn’t have Fire TV devices up on my list. The Prime Day price of INR 1800 (~$22) certainly made the Fire Stick 3 a VFM candidate, but even that wouldn’t have been enough to convince me, but for the fact that there was a possibility to unlock the bootloader of the device and root it.
It was a bit of a gamble to go for this device during the Prime Day in July, knowing that the loophole enabling the device to be rooted was patched in an April update. However, inventory always takes time to clean up and luckily for me, the device came with a vulnerable version of Fire OS and I promptly rooted it.
One of the benefits of being rooted is to be able to install custom ROMs. The history of custom ROMs for Fire TV hasn’t been great, but in this case Android TV based on Lineage OS came up fairly quickly. Unfortunately, the lack of Chromecast support and a few other bugs made me go back to Fire OS, of course, with a custom launcher.
However, being rooted opens up other possibilities and one that I was focused on, was to have the Google Play Store on Fire TV., considering the dearth of relevant apps on the Fire TV store leading to a lot of sideloading. There were no instructions about the same, but I decided to leverage my previous knowledge of de-googling an Android device to somewhat googlise the Fire TV.
TL:DR; If you already have knowledge of the process, then it is simply setting up microG Installer Revived with the Android TV Google Play Store.
If you are new to this, then the entire process is explained below. It is assumed that the Fire TV is already rooted and has Magisk installed.
- Download the following and transfer the files to the Fire TV, using adb, transfer apps or file manager.
- LSPosed is available in two variants as of now, but the Zygisk one is considered to be the way forward. So, in case you are using the Zygisk release, then you need to enable Zygisk from Magisk settings as well.
- Go to the Modules section of Magisk and select ‘Install from storage’, following which, choose the LSPosed zip. This step was tricky for me because it opens the DocumentsUI for selection, which doesn’t quite work with the remote. I used a wired mouse with OTG, but that too was quite wonky. Eventually, I managed to enable ‘Show internal storage’ from the right-hand menu and then internal storage from the left-hand menu. The good news is that once you select a folder and module, then the same folder remains open always, making future module installations easier. Reboot as required.
- It is most likely that you will not see the LSPosed app on your homescreen, so navigate to /data/adb/lspd using a root file manager or adb and install the manager.apk file present in that folder to get the LSPosed app on the homescreen.
- Install the FakeGapps apk and enable the module from within the LSPosed app.
- Rename the Android TV Play Store downloaded earlier to Phonesky.apk and copy it to /data/adb using a root file manager or adb.
- Install the microg Installer Revived module from within Magisk and reboot when prompted.
- After reboot, you should see the Google Play Store icon in your app drawer. Open it, choose sign-in, after which it will redirect you to the Google web login process through microG.
That’s it! You should now have a fully functional Play Store on the Fire TV that also auto-updates.
Bonus: Some specific apps from the Play Store fail to invoke the Amazon keyboard for input fields. In that case, you can download a keyboard from the Play Store and make it the default one. I did so for the default Gboard installed from the Play Store and the command to do so was as follows:
ime enable com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME
ime set com.google.android.inputmethod.latin/com.android.inputmethod.latin.LatinIME