nassai

nassai

amazon fire 7 debloating

For black friday I decided to buy myself two Amazon Fire 7 (7th gen) tablets to port and develop postmarketOS on. I even paid extra shipping to get them to Canada! Little did I realize at the time, I was buying a paperweight. These tablets aren't really generic android devices, they're actually very walled gardens. These really aren't far from the restrictions of an Apple device, except Amazon is even less subtle. These are basically $50 slabs with a screen to buy Amazon products from. Maybe for the average consumer this is nice, but for someone very worried with privacy like myself, I started refusing to even exit airplane mode.

So I sat down and figured out how to make this suck a little less.

downgrade

I cannot guarantee that this works with anything besides 5.6.0.0. Use adb to downgrade to an official binary of Amazon Fire, 7th generation, OS 5.4.0.0 through ADB. 7th gen tablets will brick if you attempt to downgrade to lower than 5.4.0.0.

boot into recovery using volume down + power at the same time while booting
navigate to select update over ADB
send the following command:
adb sideload update-kindle-55.5.7.9_user_579225620.bin

Next you should download the apk for NetGuard, a root-less firewall. Go into the settings of NetGuard, to Advanced Options, and enable 'Manage system applications'. Then, go to Defaults and enable 'block Wi-Fi' and 'block mobile'. This way, all system applications and future applications should be blocked from accessing the internet in any way by default. Back at NetGuard's main screen, every wi-fi and data icon on the far right should be red. If not, press and hold on the icon and it should turn red. Keep in mind that every app you install from now on will have wi-fi and data disabled, and you must enable them by holding the red icon until it turns green in NetGuard. You should be able to check for system updates through the Settings application and it should eventually display "Check for updates failed" meaning it can't connect to find or download any updates.

debloat

Run this code block of ADB commands to remove bloat, analytical collecting apps, and unnecessary Amazon apps. I have tested all of these and can confirm they do not break main tablet use.

adb shell pm uninstall --user 0 com.amazon.parentalcontrols
adb shell pm uninstall --user 0 com.amazon.photos
adb shell pm uninstall --user 0 com.amazon.kindle
adb shell pm uninstall --user 0 com.amazon.kindle.personal_video
adb shell pm uninstall --user 0 com.amazon.geo.client.maps
adb shell pm uninstall --user 0 com.amazon.cloud9.systembrowserprovider
adb shell pm uninstall --user 0 com.amazon.cloud9
adb shell pm uninstall --user 0 com.amazon.cloud9.kids
adb shell pm uninstall --user 0 com.amazon.cloud9.contentservice
adb shell pm uninstall --user 0 com.amazon.csapp
adb shell pm uninstall --user 0 com.amazon.weather
adb shell pm uninstall --user 0 com.amazon.ags.app
adb shell pm uninstall --user 0 com.amazon.h2settingsfortablet
adb shell pm uninstall --user 0 com.amazon.kindle.kso
adb shell pm uninstall --user 0 com.amazon.mp3
adb shell pm uninstall --user 0 com.amazon.tahoe
adb shell pm uninstall --user 0 com.amazon.photos.importer
adb shell pm uninstall --user 0 com.amazon.zico
adb shell pm uninstall --user 0 com.amazon.dee.app
adb shell pm uninstall --user 0 com.amazon.venezia
adb shell pm uninstall --user 0 com.amazon.legalsettings
adb shell pm uninstall --user 0 com.amazon.avod
adb shell pm uninstall --user 0 com.amazon.windowshop
adb shell pm uninstall --user 0 com.amazon.kindle.otter.settings
adb shell pm uninstall --user 0 com.amazon.whisperlink.core.android
adb shell pm uninstall --user 0 com.amazon.whisperlink.activityview.android
adb shell pm uninstall --user 0 com.amazon.whisperplay.contracts
adb shell pm uninstall --user 0 com.amazon.kindle.devicecontrols    
adb shell pm uninstall --user 0 com.amazon.client.metrics
adb shell pm uninstall --user 0 com.amazon.device.backup
adb shell pm uninstall --user 0 com.amazon.unifiedsharetwitter
adb shell pm uninstall --user 0 com.amazon.unifiedsharefacebook
adb shell pm uninstall --user 0 com.amazon.unifiedsharegoodreads
adb shell pm uninstall --user 0 com.amazon.unifiedsharesinaweibo
adb shell pm uninstall --user 0 com.amazon.advertisingidsettings
adb shell pm uninstall --user 0 com.amazon.vans.alexatabletshopping.app
adb shell pm uninstall --user 0 com.amazon.communication.discovery
adb shell pm uninstall --user 0 com.amazon.webview.metrics.service
adb shell pm uninstall --user 0 com.amazon.device.sync
adb shell pm uninstall --user 0 com.amazon.device.sync.sdk.internal 
adb shell pm uninstall --user 0 com.amazon.dp.fbcontacts
adb shell pm uninstall --user 0 com.amazon.webapp
adb shell pm uninstall --user 0 com.amazon.ods.kindleconnect
adb shell pm uninstall --user 0 com.amazon.readynowcore
adb shell pm uninstall --user 0 com.amazon.pm
adb shell pm uninstall --user 0 com.audible.application.kindle
adb shell pm uninstall --user 0 com.goodreads.kindle
adb shlel pm uninstall --user 0 com.kingsoft.office.amz 
adb shell pm uninstall --user 0 org.mopria.printplugin
adb shell pm uninstall --user 0 amazon.alexa.tablet
adb shell pm uninstall --user 0 amazon.jackson19

Optional useful Android apps:

adb shell pm uninstall --user 0 com.android.email
adb shell pm uninstall --user 0 com.android.music
adb shell pm uninstall --user 0 com.android.contacts
adb shell pm uninstall --user 0 com.android.calendar

launcher

The original launcher sucks. It's very non-subtly a portal to Amazon services. I'd highly recommend sideloading F-Droid, and then installing KISS launcher from F-Droid. I would not, despite some peoples recommendations, install Nova launcher or any other proprietary launcher. This is just personal preference, but I see this tablet being bad because of how unmodifiable it is. And since proprietary software, such as Nova launcher, are unmodifiable... it's not much of a solution, more of a swap between who is in control of your device.

Back on topic, you now need to install LauncherHijack V3 (apk link). Open the app and press on the entry for KISS launcher and press OK to set launcher. You will now have a new entry in your systems accessibility settings titled "To detect home button press". Enable this, and you're set!

hopes

The ideal future of this device is an unlocked bootloader, so we can port postmarketOS and have this device freed as much as possible. As these devices come very cheap, it's likely Amazon is producing them with little profit, focusing on profit coming from the services it offers. However, if we can manage to break out of Amazon's walled garden, FireOS, these could quickly become dirt cheap decent generic purpose Android (or better!) tablets for anybody in need. A corporate portal turned into a freed multipurpose tool for everybody. That's something I want to see.