The following steps installs the newest Leanback Launcher with Recommendations, Chromecast integrated, Daydream and activates the Google Voice Search with Google Assistant so that it also can be used in a current Kodi 18 Nightly Build on a Fire TV.
This is the most comprehensive and up-to-date transformation of a Fire TV into an Android TV device with almost all Google functionalities usable.
Amazon TV Launcher and Amazon Alexa voice search are completely replaced by Leanback Launcher and Google Voice Search. Xposed edge, XInstaller and HDXPosed must also be installed and activated. Before installing it is recommended to make a backup of the system and data partition via TWRP if you have connected an external sdcard. Many thanks to
@SimLynks for some tips from his PlayFire modification and to
@peleg for his wonderful [project] aftv2atv.
This manual is only possible with a rooted device!
- Tested on a rooted Fire TV 4k box
- Firmware 5.2.6.2
Instructions:
Unpack all zip files and copy all apk in the appendix to C:\adb\
1. Disabling unnecessary and blocking Amazon junk
Code:
adb shell su -c pm disable amazon.jackson19
adb shell su -c pm disable com.amazon.acos.providers.UnifiedSettingsProvider
adb shell su -c pm disable com.amazon.advertisingidsettings
adb shell su -c pm disable com.amazon.ags.app
adb shell su -c pm disable com.amazon.application.compatibility.enforcer
adb shell su -c pm disable com.amazon.application.compatibility.enforcer.sdk.library
adb shell su -c pm disable com.amazon.avod
adb shell su -c pm disable com.amazon.bueller.music
adb shell su -c pm disable com.amazon.bueller.notification
adb shell su -c pm disable com.amazon.bueller.photos
adb shell su -c pm disable com.amazon.client.metrics
adb shell su -c pm disable com.amazon.client.metrics.api
adb shell su -c pm disable com.amazon.communication.discovery
adb shell su -c pm disable com.amazon.device.sale.service
adb shell su -c pm disable com.amazon.device.software.ota
adb shell su -c pm disable com.amazon.device.software.ota.override
adb shell su -c pm disable com.amazon.device.sync
adb shell su -c pm disable com.amazon.device.sync.sdk.internal
adb shell su -c pm disable com.amazon.imp
adb shell su -c pm disable com.amazon.kindle.cms
adb shell su -c pm disable com.amazon.kor.demo
adb shell su -c pm disable com.amazon.logan
adb shell su -c pm disable com.amazon.metrics.api
adb shell su -c pm disable com.amazon.ods.kindleconnect
adb shell su -c pm disable com.amazon.recess
adb shell su -c pm disable com.amazon.tahoe
adb shell su -c pm disable com.amazon.tcomm.client
adb shell su -c pm disable com.amazon.tv.csapp
adb shell su -c pm disable com.amazon.tv.launcher
adb shell su -c pm disable com.amazon.tv.launcher/.ui.HomeActivity_vNext
adb shell su -c pm disable com.amazon.tv.legal.notices
adb shell su -c pm disable com.amazon.tv.nimh
adb shell su -c pm disable com.amazon.tv.settings/com.amazon.tv.settings.tv.AppDisableService
adb shell su -c mount -o remount,rw /system
adb shell su -c rm -r /system/priv-app/com.amazon.vizzini
adb shell su -c rm -r /system/priv-app/WhisperplayCore
adb shell su -c rm -r /system/priv-app/WhisperplayInstall
adb shell su -c mount -o remount,ro /system
(Notice: Amazon Alexa and Wisperplay will be completely deleted to make room on the system partition for Chromecast Integrated.)
2. Customize build.prop
View attachment 4481935
Code:
adb shell su -c mount -o remount,rw /system
adb push C:\adb\mod-build.prop.sh /sdcard/
adb shell su -c sh /sdcard/mod-build.prop.sh
adb shell su -c rm /sdcard/mod-build.prop.sh
adb shell su -c mount -o remount,ro /system
3. Adjust permissions for voice recognition
View attachment 4481936
Code:
adb shell su -c mount -o remount,rw /system
adb push C:\adb\tv_core_hardware.xml /sdcard/
adb shell su -c cp /sdcard/tv_core_hardware.xml /system/etc/permissions/tv_core_hardware.xml
adb shell su -c chmod 644 /system/etc/permissions/tv_core_hardware.xml
adb shell su -c chown root:root /system/etc/permissions/tv_core_hardware.xml
adb shell su -c rm /sdcard/tv_core_hardware.xml
adb shell su -c mount -o remount,ro /system
4. Install Open Google apps for Android TV
Download the matching zip file and copy it to the sdcard (I use version open_gapps-arm64-5.1-tvstock-20180423).
Open GApps for ARM (Fire TV sticks)
Open GApps for ARM64 (Fire TV boxes)
Insert this code to new "gapps-config.txt" and copy it to the same directory as the GApps on the sdcard.
Code:
forceclean
skipswypelibs
skipvendorlibs
GoogleAssistant
+extsharedstock
+keyboardstock
+provision
+packageinstallerstock
+webviewstock
+notouchauthdelegate
Include
gappspico
backdrop
#castreceiver
configupdater
googlebackuptransport
googlecontactsync
gsfcore
leanbacklauncher
overscan
secondscreenauthbridge
secondscreensetup
tvcustomization
tvetc
tvframework
tvgmscore
tvkeyboardgoogle
tvvending
tvwallpaper
tvwidget
Then install the GApps zip via TWRP and restart the device. Please don't sign up for Google Play Store yet!
5. Allow Google registration (NoTouchAuthDelegate)
View attachment 4481943
Code:
adb shell su -c mount -o remount,rw /system
adb push C:\adb\Tv-NoTouchGsf.apk /sdcard/
adb shell su -c chmod 755 /system/app/NoTouchAuthDelegate/
adb shell su -c rm /system/app/NoTouchAuthDelegate/NoTouchAuthDelegate.apk
adb shell su -c cp /sdcard/Tv-NoTouchGsf.apk /system/app/NoTouchAuthDelegate/NoTouchAuthDelegate.apk
adb shell su -c chmod 644 /system/app/NoTouchAuthDelegate/NoTouchAuthDelegate.apk
adb shell su -c chown root:root /system/app/NoTouchAuthDelegate/NoTouchAuthDelegate.apk
adb shell su -c rm /sdcard/Tv-NoTouchGsf.apk
adb shell su -c mount -o remount,ro /system
6. Install Google app to enable voice recognition (com.google.android.katniss)
Now restart the device and then sign in to Google Play Store.
Then search for and install the "Google" app on the Play Store. It'll take a while (I use current Google 2.2.0.138699360).
(Notice: The search in the Play Store does not work with the search button on the remote!)
7. Adjust the Xposed edge key configuration for the search button of the Fire TV remote
Activate the "Keys" in the Xposed edge and add the new KEYCODE_SEARCH key (simply press the search key on the Fire Remote for recognition).
Use "Single Click" with the activity "com.google.android.katniss\.search.SearchActivity" and leave "Long press" empty. This is the standard function, you first have to click and release the microphone, wait until the input is ready ("Speak Now" appears), and then press and hold the microphone and speak, then release.
More useful key assignments for the Leanback Launcher see attached photos:
View attachment 4488212View attachment 4488213View attachment 4488214View attachment 4488215
8. Install Android TV Settings modified for Fire TV
Once you have installed the aftv2atv Fire TV settings (better than the modified settings apk from PlayFire), you can choose which apps the Google Assistant is allowed to search for hits.
View attachment 4488216
Code:
adb shell su -c mount -o remount,rw /system
adb push C:\adb\TvSettings-2.1.1.apk /sdcard/
adb shell su -c cp /sdcard/TvSettings-2.1.1.apk /system/priv-app/TvSettings/TvSettings.apk
adb shell su -c chmod 644 /system/priv-app/TvSettings/TvSettings.apk
adb shell su -c chown root:root /system/priv-app/TvSettings/TvSettings.apk
adb shell su -c rm /sdcard/TvSettings-2.1.1.apk
adb shell su -c mount -o remount,ro /system
9. Finish
Reboot for the last time.
That's all and now you will boot directly in Leanback Launcher and start the voice search by pressing the search button in Leanback Launcher and Kodi.
Google Assistant also now finds hits in Kodi (movies, tv shows and music, if Kodi already is running), along with other sources such as YouTube, Spotify, etc. (directly install these apps from Google Play Store)
10. Optional: Access Amazon settings
If you still need to access the Amazon settings, you can install my modified conFIREator Settings app additionally (
More details click here):
View attachment 4488238
Known issues
Although the cast receivers are displayed and found correctly, no device could connect. Looks like Google has something here against unlicensed cast receivers.
.