[Fire HD 8 and HD 10 Android Development] blaacksheep:
Last edited 9-30-2022

A lot has changed since I first posted this. Toolbox has been updated to v29.0 and now has a new method of replacing the Fire Launcher, DNS66 is only a delaying tactic and doesn't stop updates in all cases, and the Lockscreen Ad removal process in the old FTB v9.2 still works to remove the ads. I leave the post up, but understand that it's just for reference as a starting point for you to explore these things.

What to do about F/W v. 7.3.2.2

So your Fire tablet has the latest firmware update on it (v7.3.2.2) and Fire Toolbox won't do what it's supposed to. All is not lost. I've collected some workarounds that will keep Amazon at bay. The three main problems are:

1) You can't stop Automatic updates.

2) You can't get rid of the lockscreen ads.

3) You hate the Amazon Launcher, but Amazon won't let you change it permanently.

Once those three problems are addressed, you pretty much have your tablet back. The Toolbox will still work for all the other things you want modify. First, get your tablet set up with Toolbox, install Google Services, and install the launcher you want. (Make sure to select "Enable Widget Support".) We'll take care of the Amazon Launcher later. So let's get started with the 3 main problems.

1) Automatic updates.

This method is far from perfect and has sometimes allowed updates to somehow slip by. The only other way to do this that I know is to use an app blocking firewall and block the update apps. I chose this method because it doesn't require a 'training period' to train the app on what to block and what to let through. Also, if you've already got lockscreen ads in your tablet's cache, this will not remove them. This method must be in place before you first connect to WiFi for the lockscreen ad blocking to work.

We need to stop the tablet from contacting Amazon to update it's firmware. We can no longer disable the service that does this, BUT, we can interfere with it's ability to contact the server from which it gets its updates. On a computer, we would modify the hosts file and block the addresses of the update servers. On an Android device, we need root access to do that, but there is an alternate way of adding things to the hosts file - with a VPN. We'll use a free and open source ad blocking VPN app to do this. The app is called DNS66 and it's available through F-Droid. You need to make sure this is always running to be protected from updates. Luckily, android has a feature to assist us in this. It's called "Always On VPN" and we need another app to access the hidden setting for this. We'll use "Activity Launcher" to get to this setting. Activity Launcher is available from Google's Play Store.

It turns out that using Activity Launcher to change this hidden setting does nothing more than give you an extra notification that your VPN is off. It doesn't stop traffic, so it's useless. Besides, my tablet has taken to turning the "Always On VPN" setting back off every time I boot. (Thanks Amazon!) Activity Launcher is still useful for finding settings that Amazon doesn't see fit to include. It also makes desktop shortcuts to those settings if you wish.

Download DNS66 to your computer from f-droid.org or from the attached file, copy it to your tablet and install it. Also go to the Play Store and install Activity Launcher. Finally, get the Amzn_Blcklist.txt that's attached to this post and copy that to your tablet. The blocklist file must remain on your tablet, so put it somewhere where it won't get deleted. I suggest in the root of your internal storage. (/storage/emulated/0)

Open DNS66. There are a couple settings that must be changed. On the Start tab, turn on "Watch Connection". (All 3 switches should now be on.)

Now go to the Hosts tab. Tap the "+" in the lower-right. Under Title, type "Amazon Blocklist". Tap the paper clip on the next line. Navigate to the Amzn_Blocklist.txt file you downloaded earlier and select it. Now tap "Done" in the upper-right. You should now have the first and last entry on the displayed list selected.

Now go to the Apps tab. Turn on "Show System Apps". Tap the gear under the Show System Apps switch and select "No Apps". All the switches below that should now be off.

You can optionally set your own DNS servers on the next screen if you'd like. I like to turn on Custom DNS Servers, deselect the German ones that are pre-selected, and then turn on the last two servers (CloudFlare).

This can also be done with Toolbox making this step unnecessary. Now go back to the Start tab. Tap "Start". It will notify you that it wants to connect to a VPN. Tap Yes or OK and allow it.

Quick note: Do not use the Toolbox DNS changer in Modify System Settings AND the DNS66 Custom DNS setting together. This will cause connectivity to fail. I use DNS66 and not Toolbox's DNS changer. Having the Custom DNS Servers set ins DNS66, and using the Toolbox DNS changer simultaneously caused me hours of grief trying to figure out why Google couldn't connect!

Now Launch Activity Launcher. Tap the magnifying glass in the upper-right. Enter "VPN". One setting should appear called "VPN". Tap it. Tap the gear on the end of the DNS66 line. Turn on Always-on VPN. Turning on the other switch makes Google Services think you are disconnected, so leave that one off. Step one accomplished.

Notes:

DNS66 takes several seconds before it gets started when you first boot, so it is possible that the tablet will make a DNS query for the update server or the lockscreen ad server before it loads. Best practice is to turn off WiFi before you power down or reboot.

----------

2) Lockscreen Ads.

Toolbox v29.0 now takes care of lockscreen ads!

It turns out, that blocking those update servers also blocks your tablet from getting any lockscreen

ads! No further action is needed. I stopped investigating this because I chose to disable the lockscreen completely. If you want to do that, you can do it in Toolbox, or in Activity Launcher that you just installed. Launch Activity Launcher. Tap the magnifying glass. Type in "screenlock". Now tap the last item (.password.ScreenLockSuggestionActivity). Select None and you're done.

Notes:

It has come to my attention that when disabling your PIN, it may still ask you for a PIN by Parental Controls for some settings or activities. I would suggest if you're going to disable your PIN, to first set it to something simple like 0000, reboot it, and then disable the PIN. That way you'll know what PIN you set if it suddenly asks you next month for your PIN.

Another way to disable lockscreen ads is detailed Here.

----------

3) Amazon Launcher.

New: Toolbox v29 has remediated most of the difficulties in replacing the launcher. Always check that you have the latest version of Toolbox. I'll leave the rest of the post up to inspire ideas.

The latest version of Toolbox (v 28.1) has a new tool called 'Custom Navbar Key'. This method uses Automate to automatically replace the Home button every time you reboot. It works rather nicely. I leave this section posted for completeness and to facilitate experimentation on other choices.

The way we're going to get rid of the Amazon Launcher is by not calling it! We're going to replace the Home button with another button that we can map to any launcher we'd like. This isn't a perfect solution, but it is FREE. If you're willing to spend a couple bucks, you can purchase a more configurable gesture navigation app with more features, but this is FREE, so maybe you can accept it's shortcomings. I'll keep this post updated with other navbar replacements that people suggest.

Go to the Play Store. Get and install "One Button Navigation". Launch it. It will want you to turn on Accessability Service for it. Follow the on-screen instructions and turn on "One Button Navigation Bar". You'll see your new nav button at the bottom of the screen. I like to adjust the width down to a dot, like the button it's replacing, but that's up to you. I also like to make the background black and the botton bright yellow so that I'm reminded it's running. Set up the background and button colors as you like them. Yeah, I know the ads in this are obtrusive, but you'll never see them once it's set up. Also DNS66 will block the ads if you install that first.

Next tap the Action tab. Tap "Single Click". Scroll down and select "Launch Application...". Select the launcher that you installed with Toolbox here. In my case, it was Nova 7. (Google updated the Nova version that Toolbox installed.) Now you can set any other actions you'd like for the new button.

I didn't want anything additional, so I made the gestures similar to the original buttons. This is all up to you. You can reverse them or set additional functionality to the button. I ended up with a new navbar that covers the original navbar (the one with the home button that brings up the Amazon Launcher). I now have a button that when pressed, takes me to my launcher. When I swipe it left, it goes back a screen. When I swipe it right, it shows the recents. I spent a lot of time with other navbar replacements and this is the minimalist replacement that works best for me. YMMV. Before someone complains that it doesn't work in landscape mode, I'm not the developer. You should rate it and leave a comment for him! This is the best I could find that does what I want for FREE.

----------

I'll edit this post with your suggestions for better solutions to these problems and keep a list of navbar replacements that people suggest at the end so you can find what works best for you.

----------------------------------------------------------

Some Suggested Navigation Bar replacements:

----------------------------------------------------------

One Button Navigation Bar by Nu-Kob (PlayStore)

Pie Control by coolAce (PlayStore)

Simple Control by coolAce (PlayStore)

DNS66 is available from F-Droid.org (dated March 26, 2021)

Activity Launcher is available from APKMirror.com (dated March 21,2022)