Decrapifying (mostly) an Amazon Fire 8 HD Kids tablet via Linux

As usual, these are mostly notes for me, in case I need to do this again or remind myself what I did.

The disappointing Amazon out-of-box experience

A friend bought an Amazon Fire 8 HD Kids tablet for their children.

It was (ostensibly) a good price, particularly as it came with a robust case, and - so they tell me - a promise from Amazon that, if the device gets broken, Amazon will replace it free of charge. For someone with children, I can see how that would be attractive.

What was much less attractive was the amount of Amazon crapware and advertising on the device.

They just wanted to be able to access Netflix and Prime Video (and nothing else), but neither they, nor I, could find a way of removing the huge volume of Amazon apps, or the promotion of various games, books, or other content.

I wish I’d taken a screenshot or photo, it was that bad.

In a device aimed at children, I thought this was pretty awful, and my initial advice was “return the device”.

But, well, the Easter weekend is coming, and my friend and her family are going away, and they wanted to take the tablet with them. So what could I do, in the course of one evening, to help them out?

Fire Toolbox, for Windows

There is a tool for Windows, “Fire Toolbox”, which lets you manage your FireOS device. But I don’t have Windows, and didn’t really want to faff about with a virtual machine, or trying to get the tool working via WINE.

Fire Tools, for Linux (and others)

Fortunately, someone has made a tool for Linux (and other platforms): Fire Tools.

I already had adb installed, and I’m not sure whether this would work without it, even though it was not part of the installation instructions.

Installing the tool

I followed the instructions:

curl -LO https://github.com/mrhaydendp/fire-tools/releases/latest/download/Fire-Tools.tar.xz
tar -xf Fire-Tools.tar.xz && rm Fire-Tools.tar.xz
cd Fire-Tools && ./ui.sh Update

Preparing the tablet

First time round, I followed the “Fire Tablet Prep” steps.

Now, for what I wanted to achieve - a screen / launcher where the only things available were the two apps my friend wanted, Netflix and Prime Video - this was not the right approach, and I ended up doing it again.

Second time round, I went through the setup process for the tablet, logging into my friend’s Amazon account, and then running the decrapifier script. The reason for this is that, to get Prime Video working, my friend needed to be logged into their Amazon account.

After I’d done that, I ran the tool as documented.

Sorting udev rules

I ran into a udev error, which meant that the device wouldn’t connect to my computer:

error: insufficient permissions for device: user in plugdev group; are your udev rules wrong?

To resolve this, I first ran lsusb, to get the device identifier.

The device came up as Bus 001 Device 007: ID 1949:0658 Lab126, Inc. KFRAWI.

I then copied some default udev rules into place:

sudo cp /lib/udev/rules.d/51-android.rules /etc/udev/rules.d/

and then edited them, to add a line specific to this device:

SUBSYSTEM=="usb", ATTR{idVendor}=="1949", ATTR{idProduct}=="0658", ENV{adb_user}="yes", MODE="0666", GROUP="plugdev"

(I am not convinced that I needed , MODE="0666", GROUP="plugdev", as I think a rule later in the file handled this. But the above is what I used.)

After that, I reloaded the udev rules with sudo udevadm control --reload-rules and then checked that I could see the device with adb devices.

I could, but it indicated that I didn’t have permission.

I unplugged the tablet and plugged it back in again, and it prompted me to allow access from my computer for USB debugging. I gave it that permission.

Using the tool

I ran the tool - ./ui.sh - and selected the first option, which was to remove the Amazon bloatware.

Again, first time, I got it wrong, as selecting to remove everything removed too much to keep Prime video working.

Second time, I used the custom option, and was more selective about what I removed. I didn’t use much method here, I just removed things with names which looked like things I thought she didn’t want or need. YMMV.

After I’d done that, I used the third option to replace the default launcher. I went with Nova. My friend’s goal was a clear screen, with just two apps on it.

Customising the launcher

Once I’d finished with the tool, I removed all the icons from the launcher screen (they’re not all deleted from the device, just ont visible).

Then I used the Nova Settings tool on the device to configure the launcher. In particular, I configured it to show a button to load the app tray, rather than sliding up from the bottom. And then I deleted that button. It - sensibly - warned me that this was probably a bad idea, as it would mean I couldn’t open the app tray, but, for my friend’s purposes, that was actually a good thing.

To connect to Wi-Fi, my friend needed to swipe down from the top, then pull down again, and then press the settings cog icon. From there, one can get into the Wi-Fi menu (and other menus, including factory reset, so not 100% children foolproof).

There’s still an annoying button on the left hand side, which opens a “device companion” screen (or something like that; I didn’t keep good enough notes of this bit), and I couldn’t work out how to get rid of it before my friend had to leave. I suspect some tinkering via adb, or careful looking through the de-bloating tools from Fire Tools, might have achieved it.

Finally, I turned the device off, then on again, to check the settings stuck. And, thank goodness, they did.

Note: this approach, to keep Prime Video working, means that, while I was able to remove / hide some Amazon apps, the rest are still visible, if you can get to the app tray. So they are still taking up storage space on the device. I hope this will be good enough.

So…

So, overall, about 40 minutes of tinkering to get it to this state.

Was it worth it? I’m unconvinced. Buying a tablet without that crapware on it in the first place seems like a better bet to me. But, for £80ish, with a promise of lifetime replacement if it gets broken, I can see why my friend was attracted to it. And, now, it’s at least usable.

What about the warranty?

Everything I did here was a “user” level, in the sense that a factory reset would restore the device to its original condition. It’s not rooted.

Yes, if the device got so badly broken that my friend couldn’t get to the menu for factory reset, and so badly broken that I couldn’t connect to it using adb to wipe it, I guess it might be a problem but, well, that’s an £80 gamble she’s going to have to take.

For now, she’s very pleased, and I’ve learned more about Amazon Fire tablets and Fire OS than I ever wanted to know.