I thought I'd share my relatively less dangerous methods to turn a Fire TV Stick 2 into an Android TV clone.
First up follow my GApps/Google Services installation guide. This will provide the necessary backbone to install every other application.
You can either install Backdrop as below or ignore those instructions and use my newly ported Android TV settings app to select your screensaver! (no root required!).
Get it here: https://github.com/rockon999/TvSettingsOnFire/releases
Note this settings app requires addition permissions that must be granted via adb. They are listed on the releases page.
First let's install Backdrop (this provides a chromecast-like screen saver for your Fire TV).
Here is the APK link.
adb connect [IP of FTV]
adb install [APK PATH]
adb shell
settings put secure screensaver_components com.google.android.backdrop/.Backdrop
Now you have the Android TV screensaver! Look here for how to configure the timing of the screensaver/sleep.
Now let's install the Leanback launcher. Unfortunately the only Leanback launcher that will load on the Fire TV (without root) is one circa ~2015 and it is *buggy*. To aid this guide (and my sanity) I've taken the decompiled sources of LeanbackLauncher, stripped them of Google services, added features, improved stability, and added Fire TV specific features. You can find that here.
Now let's install Google's TV search app. I've found a working 2.x series version that is better looking, more stable, and much faster. You can get the APK here. Unfortunately the latest version is incompatible but an older version works surprisingly well. I've found version 1.0.6.2108324 to be the most stable. You can download the APK here.
UPDATE: I've figured out how to get Google's voice search working! (this only works w/ voice remotes not apps)
Running this command will disable global Alexa and allow Google to work (if you're on an old enough firmware): adb uninstall -k --user 0 com.amazon.vizzini
And there you go! Your Fire TV Stick is an almost-Android TV stick.
Stay tuned because this guide and Leanback on Fire is being continuously updated!
Very good work!
Thank you, this is what I've been looking for.
rockon999 said:
I thought I'd share my relatively less dangerous methods to turn a Fire TV Stick 2 into an Android TV clone.
Click to expand...
Click to collapse
Could you also include that activities in your launcher-mod ?
Code:
com.amazon.tv.settings/.tv.applications.ApplicationsActivity
And for a rooted version of your launcher (just as an idea):
Code:
com.android.tv.settings/.MainSettings
For com.android.tv.settings/.MainSettings you need to simply install TvSettings.apk with root and you will get almost all functions of the standard Android TV settings menu!
Code:
adb push TvSettings.apk /sdcard/
adb shell su -c mkdir /system/priv-app/TvSettings
adb shell su -c chmod 755 /system/priv-app/TvSettings
adb shell su -c cp /sdcard/TvSettings.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.apk
rainman74 said:
Could you also include that activities in your launcher-mod ?
Code:
com.amazon.tv.settings/.tv.applications.ApplicationsActivity
And for a rooted version of your launcher (just as an idea):
Code:
com.android.tv.settings/.MainSettings
For com.android.tv.settings/.MainSettings you need to simply install TvSettings.apk with root and you will get almost all functions of the standard Android TV settings menu!
Code:
adb push TvSettings.apk /sdcard/
adb shell su -c mkdir /system/priv-app/TvSettings
adb shell su -c chmod 755 /system/priv-app/TvSettings
adb shell su -c cp /sdcard/TvSettings.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.apk
Click to expand...
Click to collapse
For the first suggestion app settings are accessible by pressing menu while on a specific application and selecting "App Settings". I think that's what you're after, but if not correct me. The issue with launching the settings activity itself is that it will crash (at least on my FTV Stick 2). I have solved crashes before, though, so I'll look into it. As for your second suggestion I can simply look into re-adding the default ATV settings code (which should interface with this app well). Unfortunately, I'll have no way to test this (I only have an un-rootable FTV sticks) so it may take longer.
rockon999 said:
For the first suggestion app settings are accessible by pressing menu while on a specific application and selecting "App Settings". I think that's what you're after, but if not correct me. The issue with launching the settings activity itself is that it will crash (at least on my FTV Stick 2). I have solved crashes before, though, so I'll look into it.
Click to expand...
Click to collapse
No, I actually meant the global app menu. With me this doesn't crash when I start it directly via adb, but via Confireator I get a crash.
So it works without crash:
adb shell at the start -n com. amazon. tv. settings/. tv. applications. ApplicationsActivity
As for your second suggestion I can simply look into re-adding the default ATV settings code (which should interface with this app well). Unfortunately, I'll have no way to test this (I only have an un-rootable FTV sticks) so it may take longer.
Click to expand...
Click to collapse
That would be great!
I tried the microphone. I held the microphone button on my remote and talked. it worked. I don't think you intended it to work at all. So you should probably update about that. And it feels good to have leanback. Also is the recommendations thing impossible?
Pix12 said:
I tried the microphone. I held the microphone button on my remote and talked. it worked. I don't think you intended it to work at all. So you should probably update about that. And it feels good to have leanback. Also is the recommendations thing impossible?
Click to expand...
Click to collapse
The normal leanback recommendations system will either 1) crash or 2) display recommendations w/o their images (neither of those things are particularly pleasant). Together they mean you end up with a bunch of giant grey blocks (that never update) on your screen. So, essentially, the best way forward (I think) is to attempt to completely rewrite the recommendations code from scratch so that it can function in the user space. There is maybe a 50/50 chance that it will actually work though as recommendations operate over the notifications system and with Amazon's notification systems and Google's recommendations setup on the same machine they don't like to get along.
Side note, I'm surprised the microphone worked as Amazon coded it to always go to Alexa. I have some questions
1) Have you debloated? If so, what?
2) Are you rooted?
3) Any special mods?
Thanks!
rockon999 said:
Side note, I'm surprised the microphone worked as Amazon coded it to always go to Alexa. I have some questions
1) Have you debloated? If so, what?
2) Are you rooted?
3) Any special mods?
Thanks!
Click to expand...
Click to collapse
I debloated the FireTV, it's not rooted and I used Launcher Hijacker 3 to use as home screen. It might've been me using the
Code:
adb shell pm grant com.google.android.katniss android.permission.RECORD_AUDIO
command for the Google app to allow the microphone.
Pix12 said:
I debloated the FireTV, it's not rooted and I used Launcher Hijacker 3 to use as home screen. It might've been me using the
Code:
adb shell pm grant com.google.android.katniss android.permission.RECORD_AUDIO
command for the Google app to allow the microphone.
Click to expand...
Click to collapse
I'm guessing it's because your debloat removed the package that forces Alexa. Similar to how removing the launcher allows other launchers to work without modification apps. I'll poke around and see if I can replicate/find the package.
rockon999 said:
I'm guessing it's because your debloat removed the package that forces Alexa. Similar to how removing the launcher allows other launchers to work without modification apps. I'll poke around and see if I can replicate/find the package.
Click to expand...
Click to collapse
Yeah, I removed really everything Amazon. It showed the launcher menu.
Pix12 said:
Yeah, I removed really everything Amazon. It showed the launcher menu.
Click to expand...
Click to collapse
which is the package that forces Alexa?
is a new version of LeanbackLauncher coming soon?
rainman74 said:
is a new version of LeanbackLauncher coming soon?
Click to expand...
Click to collapse
I'm completely rewriting a lot of the database storage code (there are a lot of broken/missing database calls) and am close to done. I'm just trying to fix the favorites row at this point but moving apps elsewhere is working. I've also re-added the code to link to the native android tv settings app and I also ported the native android tv settings app to Fire TV (without root required!). In addition, I've gotten the leanback keyboard fully working! I'd say a day or two and I'll update the guide
rockon999 said:
I'm completely rewriting a lot of the database storage code (there are a lot of broken/missing database calls) and am close to done. I'm just trying to fix the favorites row at this point but moving apps elsewhere is working. I've also re-added the code to link to the native android tv settings app and I also ported the native android tv settings app to Fire TV (without root required!). In addition, I've gotten the leanback keyboard fully working! I'd say a day or two and I'll update the guide
Click to expand...
Click to collapse
WOW! :good::good::good:
rockon999 said:
I'm completely rewriting a lot of the database storage code (there are a lot of broken/missing database calls) and am close to done. I'm just trying to fix the favorites row at this point but moving apps elsewhere is working. I've also re-added the code to link to the native android tv settings app and I also ported the native android tv settings app to Fire TV (without root required!). In addition, I've gotten the leanback keyboard fully working! I'd say a day or two and I'll update the guide
Click to expand...
Click to collapse
Awesome work!
rockon999 said:
I'm completely rewriting a lot of the database storage code (there are a lot of broken/missing database calls) and am close to done. I'm just trying to fix the favorites row at this point but moving apps elsewhere is working. I've also re-added the code to link to the native android tv settings app and I also ported the native android tv settings app to Fire TV (without root required!). In addition, I've gotten the leanback keyboard fully working! I'd say a day or two and I'll update the guide
Click to expand...
Click to collapse
Awesomeeeee!!!!!!!!!:laugh::laugh::laugh:
UPDATE: I've figured out how to get Google's voice search working! (this only works w/ voice remotes not apps)
Running this command will disable global Alexa and allow Google to work (if you're on an old enough firmware): adb uninstall -k --user 0 com.amazon.vizzini
rockon999 said:
UPDATE: I've figured out how to get Google's voice search working! (this only works w/ voice remotes not apps)
Running this command will disable global Alexa and allow Google to work (if you're on an old enough firmware): adb uninstall -k --user 0 com.amazon.vizzini
Click to expand...
Click to collapse
working perfectly with the newer apk from OP
ALPHA 2 OF LEANBACK IS OUT AND ATV SETTINGS APP PORTED
https://github.com/rockon999/Leanbac...leases/tag/0.2
NOTE: You must completely remove Alpha 1 (and clear its storage - instructions on the release page) as Alpha 1 had database storage bugs that make Alpha 2 inoperable.
The first alpha of my port of Android TV's settings app, TvSettingsOnFire, is also available (note the permission requirements)! https://github.com/rockon999/TvSettingsOnFire/releases
Also, if you've ever actually wanted to see what your were editing while you were typing Leanback Keyboard works perfectly in conjunction with my TvSettings port! You can grab it here.
Related
Update2: Updated and tested under Lollipop (Sept 2015 FireOS 5.0.1 version for Fire HD 7 2014 [5.2.2u2], and should work with Fire 7 2015)
Given that a Fire tablet with Amazon experience is a terrible thing to waste, these are scripts to switch from and to Amazon launcher both under FireOS 4.5.x and Lollipop. Along with the launcher this disables a lot of battery sucking Amazon apps (the enabling script revives all of this goodness back).
The key stuff in scripts is the launcher block/unblock. I block other apps too because some of them seem to wake up a lot ("Wakelock detector" tells me this), so why not make them less obnoxious when you are not running Amazon experience ...
Naturally, you do need ROOT (how to root FireOS is a subject of other guides).
I assume you have Nova Launcher or free Google Now Launcher (on Lollipop installed as a system app in order to have Widgets working). If your Amazon launcher apk file is renamed, rename it back (verify that you do have the proper /system/priv-app/com.amazon.firelauncher/com.amazon.firelauncher.apk ). Do make sure that you have an alternative launcher (besides the stock Amazon one !!!). Also, make sure that your adb is authorized in order to enable you to unblock the Amazon launcher in case you get the permanent Fire logo.
Go ahead install Gscript ( https://bitbucket.org/Equidamoid/gscript/downloads ). Copy either fire_on_off.zip (for FireOS 4.5.x), or fire_on_off_511b.zip (for FireOS 5.x - Lollipop) to /sdcard/gscript, and unzip scripts right in there. In "Gscript", tap the 3 dots at the bottom right corner, tap "Add script", tap "Load File", tap root required, first choose the disabling script, then repeat for the enabling script. All set.
In Nova, long tap on an empty area, it'll offer to create Shortcut. Choose Gscript/"Kindle block". Repeat for "Kindle unblock".
Then in "Nova", tap "Kindle unblock". It'll get you into Kindle Launcher, at which point you have 100% Amazon experience. Once you do your thing, and want to go back, launch/switch to "Nova", and tap "Kindle block". At this point you are back to more stock like Android.
To give proper credit, this approach was proposed by DoLooper ( http://forum.xda-developers.com/showpost.php?p=61089153&postcount=29 , and some good suggestions in a reply to this post) .
bibikalka said:
So why not switch quickly to and away from stock Amazon UI ?
Click to expand...
Click to collapse
Thanks for the post and the scripts! The shortcut makes it so easy to switch between launchers, and blocking the other packages is a great idea.
In case it's not obvious to casual reader, this lets you run any adb shell command(s) from a homescreen shortcut (and scripts that do other things, too, of course). Here are a few related tips:
Launcher: This works with any launcher that allows shortcuts on the homescreen
Gscript: I suggest using this Gscript app instead of getting it from play store. Play store version is older and less stable, and I don't think it closes after running the shortcut.
Adding the scripts (alternate method): Create a folder named "gscript" in sdcard and put bibikalka's scripts in there. Then in Gscript app, tap (3-dot) menu button, "Add script," "Load file" and the scripts will be listed.
Edit scripts from Gscript: Long press on the script name and choose Edit.
People using Freetime should edit the scripts and delete lines for amazon.kindle.kso and Tahoe. Blocking these causes bootloop.
I'm on 4.5.3 root with Google play, does it Worth upgrading ?
This works with any Fire OS; don't need 4.5.4, just have to be rooted. If you use the Amazon launcher occasionally, try this.
DoLooper said:
This works with any Fire OS; don't need 4.5.4, just have to be rooted. If you use the Amazon launcher occasionally, try this.
Click to expand...
Click to collapse
Has anyone made a version of this for Lollipop ???
bibikalka said:
Has anyone made a version of this for Lollipop ???
Click to expand...
Click to collapse
Not I. (Kinda puts the lie to that old post, eh?)
Commands for developers preview:
pm disable com.android.launcher
pm enable com.android.launcher
am start -n com.android.launcher/com.android.launcher2.Launcher
5.2.2u2 enable/disable = pm disable com.amazon.firelauncher
I can guess start is:
am start -n com.amazon.firelauncher/com.amazon.firelauncher.Launcher
. . . but I can't test cuz I don't have a custom launcher right now. Maybe someone else can test this ??? If not, I'll figure it out in next few days. (You're still on 4.5.5?!)
DoLooper said:
Not I. (Kinda puts the lie to that old post, eh?)
Commands for developers preview:
pm disable com.android.launcher
pm enable com.android.launcher
am start -n com.android.launcher/com.android.launcher2.Launcher
5.2.2u2 enable/disable = pm disable com.amazon.firelauncher
I can guess start is:
am start -n com.amazon.firelauncher/com.amazon.firelauncher.Launcher
. . . but I can't test cuz I don't have a custom launcher right now. Maybe someone else can test this ??? If not, I'll figure it out in next few days. (You're still on 4.5.5?!)
Click to expand...
Click to collapse
OK, thanks! I just got a 5th gen Fire 7 for a present, and will play with it to see how this blocking works on Lollipop.
bibikalka said:
OK, thanks! I just got a 5th gen Fire 7 for a present, and will play with it to see how this blocking works on Lollipop.
Click to expand...
Click to collapse
It works "interestingly." Played with it today to update the block sys app post. Start command:
am start -n com.amazon.firelauncher/.Launcher
Couple interesting (to me) things:
Disable:
- If you only have one alternate launcher, disabling firelauncher immediately takes you to alternate. (But maybe it did this before. I've always had multi alt launchers.)
Enable:
- You stay on alt launcher, but tapping Home icon takes you to Fire launcher (even with multi alt launchers installed).
- Enable and switch = same as before: run enable and then run start
Updated and tested for Lollipop. Thanks to DoLooper for the suggestions!
bibikalka said:
Updated and tested for Lollipop. Thanks to DoLooper for the suggestions!
Click to expand...
Click to collapse
I want to give this a try on my Fire HD7 and have only been using the Amazon launcher to this point. What is the preferred Android launcher most of you use and do you go with the free launcher or purchase a particular one? I see a couple varieties of Nova at the Play Store and have to assume the purchased one does not have ads, so thought I would ask your preferences before giving it a try. Thanks in advance for any advice you provide...
I enjoy the Nova Prime(paid app) no ads lots to customize
phfoneman said:
I want to give this a try on my Fire HD7 and have only been using the Amazon launcher to this point. What is the preferred Android launcher most of you use and do you go with the free launcher or purchase a particular one? I see a couple varieties of Nova at the Play Store and have to assume the purchased one does not have ads, so thought I would ask your preferences before giving it a try. Thanks in advance for any advice you provide...
Click to expand...
Click to collapse
What don't you try the free Google Now launcher ? Once you see how this works, perhaps you'll try Nova.
In case you overdo launcher switching and end up with no working launcher, just remember you can always save the day with these commands in adb (as long as keep the amazon launcher intact, and just block it via "pm disable" as the script above does it):
pm enable com.amazon.firelauncher
am start -n com.amazon.firelauncher/com.amazon.firelauncher.Launcher
Hi all, I have run kindle_block_5_1.sh and then reboot device. I am stack with "Fire" logo at the boot. I have access to ADB, but could not receive root access in adb shell. Can anyone advice me? How can I revert changes after that script back?
Thanks in advance
Yevgen.A said:
Hi all, I have run kindle_block_5_1.sh and then reboot device. I am stack with "Fire" logo at the boot. I have access to ADB, but could not receive root access in adb shell. Can anyone advice me? How can I revert changes after that script back?
Thanks in advance
Click to expand...
Click to collapse
No need to answer, easily fixed my problem by factory reset in recovery
Yevgen.A said:
Hi all, I have run kindle_block_5_1.sh and then reboot device. I am stack with "Fire" logo at the boot. I have access to ADB, but could not receive root access in adb shell. Can anyone advice me? How can I revert changes after that script back?
Thanks in advance
Click to expand...
Click to collapse
Yevgen.A said:
No need to answer, easily fixed my problem by factory reset in recovery
Click to expand...
Click to collapse
Rookie mistake No launcher present, no adb authorized ! But I've added some messages to the original post to mention this issue.
I can't get Nova to create a Gscript shortcut at all. I press the Gscript disable option and it dumps me back to the Amazon launcher.
With the new Fire OS 5 update we can use the Debloater tool to disable APKs/services responsible for automatic updating. This was not previously possibly due to Fire OS 3 being built on Android 4.2.2 and the Debloater process needing Android 4.4.x+. No more worrying if your router is blocking everything properly. And of course... no root needed!
Disable Update w/o Root Steps:
1. Enable USB Debugging on your Fire TV (or TV Stick) (how-to here)
2. Setup adbFire on your computer and establish a connection to your Fire TV[Stick] (how-to here)
3. Setup Debloater tool (how-to here)
4A. In the Debloater tool, check off the APK below then hit the "Apply" button:
DeviceSoftwareOTA.apk (com.amazon.device.software.ota)
4B. Instead of using Debloater Tool you can just send the following ADB command:
Code:
adb shell pm hide com.amazon.device.software.ota
Unlike the pm disable command, hide disables the apk without root.
Click to expand...
Click to collapse
After hiding the apk your Amazon Fire TV or Fire TV Stick will no longer get OTA updates.
If you go into Settings > System > About you can no longer check for updates... yay.
To undo the block you can simply "unhide" each apk using the Debloater tool or run:
Code:
adb shell pm unhide com.amazon.device.software.ota
Click to expand...
Click to collapse
Be careful if you try to disable other system apps. If you disable something important and the device won't start up.. you'll have to perform a factory reset to fix the issue (not sure if possible with stick?). Have more apks to disable to reduce unneeded system processes? please share.
TL;DR
You gotta update to Fire OS 5.x in order to block updates without root (or router).
I know this defeats the purpose of blocking updates since you want to stay on old fw/sw... but science!
This may not work on all future Fire OS 5.x+ builds. Tested on FireTV Stick with Early Developer 5.0.3 build.
Thank you for this info.
Can anybody confirm this is working ? I have not received my AFTV2 yet.
Does this survive reboot?
Received my Firetv 2 and I can confirm it works, it even survives a reboot. To me this is the best method of blocking the Amazon updates.
Thanks mister LakituLives for writing this up
Does this work on the Firetv 1? Or only on the 4K fire TV. When I try to run debloater on the firetv 1 it keep saying unsupported. Thanks.
I assume you´re not running Fire OS 5 on the aTV 1. With Fire OS 3 this can´t be done this way.
slybas said:
Received my Firetv 2 and I can confirm it works, it even survives a reboot. To me this is the best method of blocking the Amazon updates.
Thanks mister LakituLives for writing this up
Click to expand...
Click to collapse
Can you run "pm list packages -d" from adb shell and paste the output? Does it do what @LakituLives describes which is give an error or otherwise not function as normal when you check for updates on the AFTV2?
I have done this and when i check for updates i get an error, don't know if it is working correctly.
zeroepoch said:
Can you run "pm list packages -d" from adb shell and paste the output? Does it do what @LakituLives describes which is give an error or otherwise not function as normal when you check for updates on the AFTV2?
Click to expand...
Click to collapse
Glad to help. The pm list packages -d (disabled packages) is empty because debloater hides the packages and not disables them.
Code:
[email protected]:/ $ pm list packages -d
pm list packages -d
[email protected]:/ $
There is nothing to see.
Code:
1|[email protected]:/ $ pm list packages | grep dcp
pm list packages | grep dcp
1|[email protected]:/ $ pm list packages | grep pico
pm list packages | grep pico
package:com.svox.pico
[email protected]:/ $
My version is now 5.0.3.1 because I unhid the packages and updated the machine, now the packages are hidden again and System --> About --> "installed Date" and "Last Checked" are both "Checking now......" and if I select Check for System Update I get an Update error. Perfect !
slybas said:
My version is now 5.0.3.1 because I unhide the packages and updated the machine, now the packages are hidden again and System --> About --> "installed Date" and "Last Checked" are both "Checking now......" and if I select Check for System Update I get an Update error. Perfect !
Click to expand...
Click to collapse
I get the same error now as well after running (as root):
Code:
pm disable com.amazon.device.software.ota
No idea if this actually blocks updates or just the checking. I guess we'll have to wait until the next update.
LakituLives said:
With the new Fire OS 5 update we can use the Debloater tool to disable APKs/services responsible for automatic updating. This was not previously possibly due to Fire OS 3 being built on Android 4.2.2 and the Debloater process needing Android 4.4.x+. No more worrying if your router is blocking everything properly. And of course... no root needed!
After hitting apply the Debloater tool should take a moment then show all apks "hidden" and your Amazon Fire TV or Fire TV Stick will no longer get OTA updates.
If you go into Settings > System > About you can no longer check for updates... yay.
You can simply "unhide" each apk using the Debloater tool if you should ever want to reverse this process.
Be careful if you try to disable other system apps. If you disable something important and the device won't start up.. you'll have to perform a factory reset to fix the issue (not sure if possible with stick?). Have more apks to disable to reduce unneeded system processes? please share.
TL;DR
You gotta update to block updates (without router or root).
I know this defeats the purpose of blocking updates since you want to stay on old fw/sw... but science!
And yes, Fire OS 5 makes the possibility of root even harder now that selinux is enabled.
Click to expand...
Click to collapse
Hi my firestick is running version 54.1.2.3_user_123067020 and it says it is not rooted and does not support block mode I have the latest version of deblocker and adbfire . windows 10
mifran said:
Hi my firestick is running version 54.1.2.3_user_123067020 and it says it is not rooted and does not support block mode I have the latest version of deblocker and adbfire . windows 10
Click to expand...
Click to collapse
You haven't updated to FireOS 5 which is required to use this.
Hmm, so fire tv stick didn't seem to get any root love other than soldering and man that stick is tiny for soldering. I'm debating if I want to let an update to latest then block. Anyone have any thoughts on if fire TV stick will ever get a software root?
Ludacrisvp said:
You haven't updated to FireOS 5 which is required to use this.
Click to expand...
Click to collapse
OK thanks I realised this now would updating to 5 mean re-installing kodi and firestarter and losing all the addons
Just chucked and there is no update for the UK version I have the latest installed
Sent from my Blade S6 using Tapatalk
mifran said:
OK thanks I realised this now would updating to 5 mean re-installing kodi and firestarter and losing all the addons
Click to expand...
Click to collapse
I didn't lose anything in my update from FireOS 3. If you revert from 5 to 3 then you have to lose everything.
mifran said:
Just chucked and there is no update for the UK version I have the latest installed
Click to expand...
Click to collapse
You have to opt-in for FireOS 5 from the Amazon developer account (free).
Thanks for the info will check it out
Sent from my Blade S6 using Tapatalk
I don't know if adbFire is connected, last night I was able to install FireStarter. This morning, I don't know if adbFire is connecting and Debloater isn't showing anything, or do I need to use USB to USB to do this?
Does this work on the Fire Stick? Also, what's the benefit of this method? I can't think of a reason to do this, unless you had a Fire TV on the old OS and hadn't a chance to root it yet?
I've recently been digging in to what is causing launchers from being disabled and wanted to share my findings.
The culprit here is
Code:
/system/priv-app/com.amazon.tv.settings.apk
The service name is
Code:
com.amazon.tv.settings.tv.AppDisableService
There are currently two blacklisted apps in the 5.0.5.1 release:
Code:
com.altusapps.firedtvlauncher
de.belu.firestarter
If you are on 5.0.5.1, you can poke around the system partition by running on your computer:
Code:
adb pull /system
Looks like we have a cat-and-mouse game on our hands...
jkchr1s said:
I've recently been digging in to what is causing launchers from being disabled and wanted to share my findings.
The culprit here is
Code:
/system/priv-app/com.amazon.tv.settings.apk
The service name is
Code:
com.amazon.tv.settings.tv.AppDisableService
There are currently two blacklisted apps in the 5.0.5.1 release:
Code:
com.altusapps.firedtvlauncher
de.belu.firestarter
If you are on 5.0.5.1, you can poke around the system partition by running on your computer:
Code:
adb pull /system
Looks like we have a cat-and-mouse game on our hands...
Click to expand...
Click to collapse
Wow. Those sneaky bastards. I think there is a way to disable individual services.
rbox said:
Wow. Those sneaky bastards. I think there is a way to disable individual services.
Click to expand...
Click to collapse
I was thinking the same thing. I don't have the update so I can't test. But can't we do:
Code:
pm hide com.amazon.tv.settings.tv.AppDisableService
without root, and
Code:
pm disable com.amazon.tv.settings.tv.AppDisableService
with?
wouldn't hurt to try, would it?
rbox said:
Wow. Those sneaky bastards. I think there is a way to disable individual services.
Click to expand...
Click to collapse
Unfortunately the 'pm hide' command doesn't work to disable the service because it's for packages only, so non-rooted owners are out of luck. And yes, I did actually try it anyway. I expect the 'pm disable' command will work with root because it differentiates between packages and components.
Also, it doesn't look like they're doing anything special when disabling the two apps, so once we have a pre-rooted ROM, all we'll have to do is:
Code:
adb shell
su
pm disable com.amazon.tv.settings.tv.AppDisableService
pm enable com.altusapps.firedtvlauncher
pm enable de.belu.firestarter
AFTVnews.com said:
Unfortunately the 'pm hide' command doesn't work to disable the service because it's for packages only, so non-rooted owners are out of luck. And yes, I did actually try it anyway. I expect the 'pm disable' command will work with root because it differentiates between packages and components.
Also, it doesn't look like they're doing anything special when disabling the two apps, so once we have a pre-rooted ROM, all we'll have to do is:
Code:
adb shell
su
pm disable com.amazon.tv.settings.tv.AppDisableService
Click to expand...
Click to collapse
Did you verifiy with:
Code:
pm list packages -d
?
AFTVnews.com said:
Unfortunately the 'pm hide' command doesn't work to disable the service because it's for packages only, so non-rooted owners are out of luck. And yes, I did actually try it anyway. I expect the 'pm disable' command will work with root because it differentiates between packages and components.
Also, it doesn't look like they're doing anything special when disabling the two apps, so once we have a pre-rooted ROM, all we'll have to do is:
Code:
adb shell
su
pm disable com.amazon.tv.settings.tv.AppDisableService
pm enable com.altusapps.firedtvlauncher
pm enable de.belu.firestarter
Click to expand...
Click to collapse
It *IS* a cat and mouse game... but really all that has to happen is the authors of those programs just need to change the name of the package.
I was close. The command to disable the blacklist service is:
Code:
pm disable com.amazon.tv.settings/com.amazon.tv.settings.tv.AppDisableService
It survives a reboot. Here is my detailed guide for those who need it.
I've been playing with this on an unrooted box and found that I can crash the AppDisableService by sending an intent, followed by a force-stop of com.amazon.tv.settings:
Code:
am broadcast -a android.content.action.PERMISSION_RESPONSE_RECEIVED
am force-stop com.amazon.tv.settings
This *seems* to stop the AppDisableService since it never spins back up (since it never receives the BOOT_COMPLETED after it crashes), but this still leaves us with the problem of packages being disabled at boot and no way to enable them.
So, this led me to the idea that you could uninstall the apk and preserve the files, then simply reinstall it after the crash.
I tried to uninstall FireStarter and preserve data:
Code:
pm uninstall -k de.belu.firestarter
but on reinstall, it's still disabled (I'm guessing it preserves the disabled state with -k).
So I guess that's sort-of progress...
jkchr1s said:
I've been playing with this on an unrooted box and found that I can crash the AppDisableService by sending an intent, followed by a force-stop of com.amazon.tv.settings:
Code:
am broadcast -a android.content.action.PERMISSION_RESPONSE_RECEIVED
am force-stop com.amazon.tv.settings
This *seems* to stop the AppDisableService since it never spins back up (since it never receives the BOOT_COMPLETED after it crashes), but this still leaves us with the problem of packages being disabled at boot and no way to enable them.
So, this led me to the idea that you could uninstall the apk and preserve the files, then simply reinstall it after the crash.
I tried to uninstall FireStarter and preserve data:
Code:
pm uninstall -k de.belu.firestarter
but on reinstall, it's still disabled (I'm guessing it preserves the disabled state with -k).
So I guess that's sort-of progress...
Click to expand...
Click to collapse
I wonder what would happen if a device reset was done and your tweak were done?
king200 said:
I wonder what would happen if a device reset was done and your tweak were done?
Click to expand...
Click to collapse
Unfortunately a device reset would restart the AppDisableService. Causing the crash only stops it after you initiate the crash (meaning it would start up on next reboot). That's the problem with this approach...
My thought was to run a process to uninstall the disabled app(s), have a copy of the APK on the filesystem to re-install, and write an app that would initiate the crash and reinstall the apk on BOOT_COMPLETED. This approach is only good for keeping the app during a booted session, it would have to be re-run if the device was rebooted, and all app settings would be lost when the uninstall occurred.
Without initiating the crash, it appears they run an alarm task that essentially does a check every so often to disable any newly installed apps.
So it looks like they do the check on boot, then again at scheduled intervals. Initiating the crash causes the scheduled interval checks to not run, but a reboot means the app becomes disabled.
how about rename the app??? sorry if too stupid...
htchd2fix said:
how about rename the app??? sorry if too stupid...
Click to expand...
Click to collapse
Renaming the app works, but requires the source to be recompiled. Not easily done on device.
on the atvnews(dot)com website is a renamed version from firestarter for downlaod.
CU ulli01
Update: It's been reported that the method works on FireOS up to and including 5.2.6.0, but does not work on 5.2.6.1
To catch a break, and avoid force fed OTA updates, run these commands from your ADB:
Code:
adb.exe uninstall -k --user 0 com.amazon.device.software.ota
adb.exe uninstall -k --user 0 com.amazon.device.software.ota.override
This will disable the OTA apps till the next factory reset. In case there is ever root, your system will be old enough to be rootable.
Once you do this, and go check for system updates, it'll generate a message "System update failed".
More details can be found in this thread.
this was patched on the tablets and if not already will likely be patched on the sticks soon as well.
krsmit0 said:
this was patched on the tablets and if not already will likely be patched on the sticks soon as well.
Click to expand...
Click to collapse
Sure, nothing lasts forever ... But even more reason to do this NOW !!!
At the moment, I have this version : Fire OS 5.2.4.1, ro.build.date=Fri Jun 9 23:01:51 UTC 2017, so not patched yet.
@bibikalka is there a way to reinstall an uninstalled APK for user 0 ?
rainman74 said:
@bibikalka is there a way to reinstall an uninstalled APK for user 0 ?
Click to expand...
Click to collapse
I don't know an easy one
But you can always do a factory reset! These operations don't actually delete anything, just flag it as unusable.
This should allow debloating the Fire TV sticks. Does anyone have a list with apps that you can safely remove? Maybe even replacing the stock launcher is possible. Although on the Fire HD 10 5th generation removing the stock launcher breaks the home button detection.
MWin123 said:
This should allow debloating the Fire TV sticks. Does anyone have a list with apps that you can safely remove? Maybe even replacing the stock launcher is possible. Although on the Fire HD 10 5th generation removing the stock launcher breaks the home button detection.
Click to expand...
Click to collapse
Yes, you can completely replace Fire Stick Launcher without root! But first ensure, that all settings are made, because you can not access certain settings anymore (again only after a factory reset).
And you must install another launcher first, e.g. AppStarter (https://github.com/sphinx02/AppStarter/releases)
1. Uninstall:
adb uninstall -k --user 0 com.amazon.device.software.ota
adb uninstall -k --user 0 com.amazon.device.software.ota.override
adb uninstall -k --user 0 com.amazon.tv.nimh
adb uninstall -k --user 0 com.amazon.tv.launcher
2. Access settings then via ADB without com.amazon.tv.launcher (Fire Stick "tank" on 5.2.4.1):
Controller:
Code:
adb shell am start -n com.amazon.tv.settings/.tv.controllers_bluetooth_devices.ControllersAndBluetoothActivity
App-Menu:
Code:
adb shell am start -n com.amazon.tv.settings/.tv.applications.ApplicationsActivity
Network:
Code:
adb shell am start -n com.amazon.tv.settings/.tv.network.NetworkActivity
Factory Reset:
Code:
adb shell am start -n com.amazon.tv.settings/.tv.FactoryResetActivity
rainman74 said:
But first ensure, that all settings are made, because you can not access certain settings anymore (again only after a factory reset).
Click to expand...
Click to collapse
Thanks! Do you know what settings are affected?
I can recommend Activity Launcher to open settings, it also allows you to open some hidden settings. See NO ROOT: Use 'Activity Launcher' to remove accounts, grant/revoke usage access.
MWin123 said:
Thanks! Do you know what settings are affected?
Click to expand...
Click to collapse
yes, because of we can't grant com.amazon.tv.permission.LAUNCHER_SETTINGS to com.amazon.tv.settings (adb -d shell pm grant com.amazon.tv.settings com.amazon.tv.permission.LAUNCHER_SETTINGS), you can't access the following settings anymore:
Account (but you'll in no way ever change your Amazon Account)
Display & Sound (so set each setting there to "automatic" before you uninstall com.amazon.tv.launcher)
Info/About (you'll not need that anyway)
Childlock (no need for that anyway, because you will not have Amazon Launcher)
Debug/ADB (so set ADB/USB to "yes" before you uninstall com.amazon.tv.launcher and you'll be fine)
MWin123 said:
I can recommend Activity Launcher to open settings, it also allows you to open some hidden settings. See NO ROOT: Use 'Activity Launcher' to remove accounts, grant/revoke usage access.
Click to expand...
Click to collapse
Thanks, I'll try that...
After installing modified "Android TV Settings" (https://forum.xda-developers.com/attachment.php?attachmentid=4255667&d=1503965469) with regular "adb install" you can access the following settings again if amazon.tv.launcher is disabled or uninstalled (non-root):
Sound (system sounds only)
Code:
com.android.tv.settings.device.sound.SoundActivity
Info/About
Code:
com.android.tv.settings.about.AboutActivity
Debug/ADB
Code:
com.android.tv.settings.system.DeveloperOptionsActivity
CEC/HDMI Control
Code:
com.android.tv.settings.system.InputsActivity
Bluetooth/Pairing
Code:
com.android.tv.settings.accessories.AddAccessoryActivity
Date/Time
Code:
com.android.tv.settings.system.DateTimeActivity
Device Name
Code:
com.android.tv.settings.name.DeviceNameSettingsActivity
Language
Code:
com.android.tv.settings.system.LanguageActivity
Do the ADB commands in post 1 work on the 2nd gen Amazon Fire TV please? (not the stick).
I have just acquired one which is non rooted and loaded with software v5.2.4.2 which I understand that I am unable to root.
Any advice greatly appreciated.
meohmy said:
Do the ADB commands in post 1 work on the 2nd gen Amazon Fire TV please? (not the stick).
I have just acquired one which is non rooted and loaded with software v5.2.4.2 which I understand that I am unable to root.
Any advice greatly appreciated.
Click to expand...
Click to collapse
Yes they do, I just tried it on mine and it worked flawlessly. Good luck!
Thanks for the prompt reply, I will have a go as soon as the wife goes out.
apologiez for hijacking your thread, these infors are very appreciated.
i 'accidently' uninstalled "com.amazon.tv.settings", any idea how i can force a factory reset? Installing the modfied "Android TV Settings" didnt help.
TV33 said:
apologiez for hijacking your thread, these infors are very appreciated.
i 'accidently' uninstalled "com.amazon.tv.settings", any idea how i can force a factory reset? Installing the modfied "Android TV Settings" didnt help.
Click to expand...
Click to collapse
this is probably not possible anymore then!
But you can try this method: http://www.aftvnews.com/how-to-unbrick-by-entering-recovery-mode-and-factory-reset-the-amazon-fire-tv/
Worked first time so thanks for all the info, now to get a vpn so I can start using it.
Hi, I need help
I have a Fire TV Stick2 (Tank), after trying Post #7 I have no choice to change the WIFI account.
Post #10 doesn't work.
Any Idea? Post #15 seems not possible for "tank"
Any advice greatly appreciated.
remoter3406 said:
Hi, I need help
I have a Fire TV Stick2 (Tank), after trying Post #7 I have no choice to change the WIFI account.
Click to expand...
Click to collapse
You will have access to wifi on Fire TV Stick2 ("tank") with this cmd as stated in post #7:
Code:
adb shell am start -n com.amazon.tv.settings/.tv.network.NetworkActivity
Post #10 doesn't work.
Click to expand...
Click to collapse
Did yo install the modified "Android TV Settings" first. The command definitely works then!
Any Idea? Post #15 seems not possible for "tank"
Any advice greatly appreciated.
Click to expand...
Click to collapse
It's possible with an Micro USB OTA adapter: https://www.amazon.de/gp/product/B00N2LSLKA/ref=oh_aui_search_detailpage?ie=UTF8&psc=1
You will have access to wifi on Fire TV Stick2 ("tank") with this cmd as stated in post #7:
Code:
adb shell am start -n com.amazon.tv.settings/.tv.network.NetworkActivity
Click to expand...
Click to collapse
First, sorry for my english. I mean WIFI is working with my WIFI repeater, but I want change it to my main WIFI router. How?
Did yo install the modified "Android TV Settings" first. The command definitely works then!
Click to expand...
Click to collapse
Yes, I installed the "apk" and it apears on TV, but no reaction. Is a adb command needed for activating?
It's possible with an Micro USB OTA adapter:
Click to expand...
Click to collapse
OK, this is the last try if I coudn't change the WIFI
Many Thanks for your quick response
remoter3406 said:
First, sorry for my english. I mean WIFI is working with my WIFI repeater, but I want change it to my main WIFI router. How?
Click to expand...
Click to collapse
I will show you a screenshot of that later this evening...
Yes, I installed the "apk" and it apears on TV, but no reaction. Is a adb command needed for activating?
Click to expand...
Click to collapse
You can't click the icon, you must access the settings of it via adb or the app "Activity Lauchner" mentioned in this thread:
Code:
adb shell am start -n com.android.tv.settings.about.AboutActivity
adb shell am start -n com.android.tv.settings.accessories.AddAccessoryActivity
adb shell am start -n com.android.tv.settings.device.sound.SoundActivity
adb shell am start -n com.android.tv.settings.name.DeviceNameSettingsActivity
adb shell am start -n com.android.tv.settings.system.DateTimeActivity
adb shell am start -n com.android.tv.settings.system.DeveloperOptionsActivity
adb shell am start -n com.android.tv.settings.system.InputsActivity
adb shell am start -n com.android.tv.settings.system.LanguageActivity
Root Method (Works on Fire TV Stick Tank, Fire TV Stick 4K, and other Fire TV's with Root Functionality)
adb connect (your ip address or through usb adb)
adb shell
su
cd /data/data/com.amazon.tv.launcher/databases
rm mbcache.db*
touch mbcache.db
touch mbcache.db-shm
touch mbcache.db-wal
chmod 0 mbcache.db*
After its fully typed in, type ls -all and the three files should stay as zeros
Reboot and check your memory
Non-Root Method (2020 Fire TV's supported, 2016 Tank, along with other Fire TV's although the mbcache.db will fill up quickly as I recommend rooting the 4K or Tank, ADB Debugging required)
adb connect (your ip address or through usb adb)
adb shell pm clear com.amazon.tv.launcher (Success should be noticeable and the launcher may freeze up for a second as well as the recents row of your apps are gone but won't delete your apps data)
Reboot and check your memory (It'll build up sadly so I prefer entering this command like every so often it fills up)
I hope this helps anybody with the memory shortages with the stick.
Anybody with the newer launcher let me know if it's working correctly. This guide was the older interface before the 6.2.8.0 4K Stick update.
Skel40 said:
Root Method (Works on Fire TV Stick Tank, Fire TV Stick 4K, and other Fire TV's with Root Functionality)
adb connect (your ip address or through usb adb)
adb shell
su
cd /data/data/com.amazon.tv.launcher/databases
rm mbcache.db*
touch mbcache.db
touch mbcache.db-shm
touch mbcache.db-wal
chmod 0 mbcache.db*
After its fully typed in, type ls -all and the three files should stay as zeros
Reboot and check your memory
...
I hope this helps anybody with the memory shortages with the stick.
Click to expand...
Click to collapse
Does this have any adverse effects? I want to make it unwritable, but concerned the launcher would get messed up. Here you actually talked about restoring this:
Fire TV Stick 4K (mantis) Debloated Rom 6.2.7.1 93/6.2.7.7
Debloated Rom For The Fire TV Stick 4K 6.2.7.1 93/6.2.7.7 Revised NOTE: Firmware versions after 6.2.7.7 will not work with this debloated rom. It's been a few months since I've updated this guide so be cautious with installing this. The latest...
forum.xda-developers.com
bibikalka said:
Does this have any adverse effects? I want to make it unwritable, but concerned the launcher would get messed up. Here you actually talked about restoring this:
Fire TV Stick 4K (mantis) Debloated Rom 6.2.7.1 93/6.2.7.7
Debloated Rom For The Fire TV Stick 4K 6.2.7.1 93/6.2.7.7 Revised NOTE: Firmware versions after 6.2.7.7 will not work with this debloated rom. It's been a few months since I've updated this guide so be cautious with installing this. The latest...
forum.xda-developers.com
Click to expand...
Click to collapse
No it won't mess up. If you're doing the non-root method it'll reset the launcher without any consequences. If you're doing the root method, it'll show a launcher memory error (which is normal) so the process is the same whether it's clearing the cache with and without root but preferably would go with the root command solely for more memory so you're safe
Skel40 said:
No it won't mess up. If you're doing the non-root method it'll reset the launcher without any consequences. If you're doing the root method, it'll show a launcher memory error (which is normal) so the process is the same whether it's clearing the cache with and without root but preferably would go with the root command solely for more memory so you're safe
Click to expand...
Click to collapse
So I deleted my via root and re-created it:
Code:
adb shell
su
rm /data/data/com.amazon.tv.launcher/databases/mbcache.db
cd /data/data/com.amazon.tv.launcher/databases
touch mbcache.db
chown u0_a97:u0_a97 mbcache.db
chmod 600 mbcache.db
After a reboot, it deleted all the other mbcache.db* files that I did not delete myself. This one [mbcache.db] now stays at zero. No interface errors. Very weird. Everything seems to work as before.
Skel40 said:
Root Method (Works on Fire TV Stick Tank, Fire TV Stick 4K, and other Fire TV's with Root Functionality)
adb connect (your ip address or through usb adb)
adb shell
su
cd /data/data/com.amazon.tv.launcher/databases
rm mbcache.db*
touch mbcache.db
touch mbcache.db-shm
touch mbcache.db-wal
chmod 0 mbcache.db*
After its fully typed in, type ls -all and the three files should stay as zeros
Reboot and check your memory
Non-Root Method (2020 Fire TV's supported, 2016 Tank, along with other Fire TV's although the mbcache.db will fill up quickly as I recommend rooting the 4K or Tank, ADB Debugging required)
adb connect (your ip address or through usb adb)
adb shell pm clear com.amazon.tv.launcher (Success should be noticeable and the launcher may freeze up for a second as well as the recents row of your apps are gone but won't delete your apps data)
Reboot and check your memory (It'll build up sadly so I prefer entering this command like every so often it fills up)
I hope this helps anybody with the memory shortages with the stick.
Click to expand...
Click to collapse
Thank you for your helpful posts with instructions/ codes etc.
I thought I will post here even though the last post in this thread was in 2020.
I am on a fire stick 4k max (not rooted) which came with Fire OS 7.6.0.3 (PS7603/3110) for about a month using techdoctoruk app cache cleaner and it seemed to be working. Just today, available memory seem to go the opposite way. I had 1.05 GB free and this time it showed 860MB available and after running that app again, about 780 available and prompted me to find the adb codes to clear the cache and came across this thread.
Then I used the non-rooted method code that you posted to clear com.amazon.tv.launcher which gave me "success".
Now after reset, it shows 560MB available.
Is this a known issue? Is there a solution to clear and regain the memory?
"adb shell pm trim-caches 999G"... and all caches from all its gone.
Or... use the (paid) TDUK app on Amazon or the Google Play Store.
In all honesty this guide is one of the older ones I've posted and if any users here are able to try this out to see if it works then let me know if it does. There's TDUK Update Wiper and TDUK tools that help out with low memory
Another reason why your memory is low is because with the root method it forces the mbcache and other files to zero and with the non-rootable 7.6.0.3 (PS7603/3110),the memory fills up after clearing the files due to Amazons control over their os. @boxster03