The biggest complaint regarding the Amazon Fire TV Stick 4K is lack of internal storage.
The device comes equipped with 8GB of internal storage but only 5GB is available due to the Fire OS operating system and apps that Amazon pre-installs.
That remaining 5GB is quickly chewed up after we install all of our favorite applications.
Yes, we can connect a USB thumb drive via OTG cable but this doesn’t allow for installing applications onto the external storage until now.
Our friends over at XDA Forums figured out a way to install applications onto a USB drive connected to an Amazon Fire TV Stick 4K by way of an OTG Cable.
In this post, I will show you step by step how to accomplish this cool “hack”. This does not currently work with the 2nd Generation Fire TV Stick and hasn't been tested it on the Fire TV pendant either.
What You Will Need
- Fire TV Stick 4K
- OTG Cable
- USB 3.0 Flash Drive
- Rufus Drive Utility – only needed if you need to format your USB drive
- Remote ADB Shell App – I show how to install this below.
During this tutorial, I spent many hours testing various USB flash drives that I had laying around. I had the best luck with USB 3.0 drives, in particular the SanDisk brand which I link to above. Yes, some 2.0 drives worked perfectly fine but some didn’t.
I would suggest formatting your USB drive with Rufus if for some reason your USB drive doesn’t work properly. There might be something wrong with the drive and the format tool may help.
I would suggest first trying what you have already purchased. If it doesn’t work, get one of the SandDisk 3.0 models and you will be all set.
Flash Drives have become very inexpensive and you will see that you can purchase a 64GB model for approximately $10.
Connect OTG Cable & USB Flash Drive To Fire TV Stick 4K
The first thing that you need to do is connect your USB flash drive to your Fire TV Stick 4K and then connect the Firestick to your TV and power it on.
You will see how simple this is by looking at the image below.
You can purchase an OTG Cable from here for approximately $3.
Expand Internal Storage On Fire TV Stick 4K
1 Click Settings.
2 Click My Fire TV.
3 Click About.
4 Hover over Network and write down your IP Address. In this example, mine is 192.168.1.169.
5 Click Back button on your remote and then click Developer Options on the My Fire TV menu.
6 Turn ON ADB debugging and Apps from Unknown Sources.
7 Return to the home screen and hover over the Search icon.
8 Type in Downloader and click “Downloader” which will appear under keyboard
9 Click the Downloader app.
10 Click Download.
11 Click Open.
12 Click Allow.
13 Click OK.
14 On the home screen type the following address into the box – troypoint.com/radb This will install the Remote ADB Shell Application.
The Remote ADB Shell App may also be installed through the TROYPOINT App by way of Rapid App Installer.
15 Click Install.
16 Click Open.
17 Click OK.
18 On the main screen of Remote ADB App type in your IP Address that you wrote down in Step #4 and then click Next.
19 Leave 5555 in the box and click Next.
20 Click Connect.
21 Check the box that reads “Always allow from this computer” and click OK button.
22 You are now presented with the command line within the Remote ADB application. Click the OK button on your remote to open the keyboard.
23 Type in the following command sm list-disks and then click Run.
24 In the background you will see your disk name listed and in my case it is 8,0 yours may be listed as a different name. Make a note of this as you will need it in the next step. You can always click the back button on your remote to close the keyboard if you would like to see the words in the background without the dark tint.
25 You now need to decide how you would like to format your USB Flash Drive.
Option #1: sm partition disk:8,0 mixed 50
If your drive name is different than 8,0 you will want to input that instead when running this code.
This option will create 2 equal-sized partitions on your drive. In my situation, I’m using a 256GB SanDisk 3.0 Flash Drive and it will be split into 2 partitions with 128GB on each. One partition will be used for running applications (internal storage) and the other may be used for storing various files (external storage).
I prefer this option and here’s why. This option allows me to load movies & TV shows from my computer onto the storage partition and then I can play those media files through Kodi or another media player on the Fire TV Stick 4K. I can also download media through various APKs on the Fire TV Stick 4K and then transfer them to the storage partition through my file explorer for later access. This is a great option when traveling if you don’t have Internet access.
Option #2: sm partition disk:8,0 private
This option will format your entire disk as internal storage and you won’t have the ability to store or access media files as you would through external storage.
You will see below that I am choosing option 1. Type in your preferred command and then click the Run button.
26 After you issue the command you may see in the bottom right corner that your USB drive becomes removed.
27 And then it becomes connected again. This is normal.
28 The following command will confirm that the format worked properly. Type df -h and then click the Run button.
29 You can now see the size of each partition and how much space is available.
The first /dev/fuse in the list = Fire TV Stick 4K onboard storage. You will see that I only have 415MB left of onboard storage.
The second /dev/fuse in the list = external storage that may be used for media files, etc.
/dev/block/dm-2 = the partition that will store and run applications from.
App Installation Location
In theory, every application that we install from here on out shall be stored on the dm-2 partition of the USB drive but that’s not the case.
After I went through this tutorial, I noticed that many of the apps that I installed through Amazon App store didn’t run from the USB drive.
You can quickly determine whether an application is running from the USB drive by going into Fire TV Stick 4K Settings, click Applications.
Click Manage Installed Applications.
You will see a USB icon next to the apps currently running off the USB drive.
From what I understand, if the application author doesn’t declare support for running off external storage, it will default to internal storage.
Read more about specifying app installation location here.
So, if you install an application through the Amazon App Store and it doesn’t show as it is running from the USB drive, this means that the app developer didn’t declare this in their code.
Two applications that do carry support for external storage are Philo and ES File Explorer. So, if you want to test that your icons are showing properly, try installing one of those apps as a test.
Luckily, we can issue a command through Remote ADB Shell app to move applications over to the USB drive.
Please note that all applications that I sideloaded such as Kodi, Cinema, UnlockMyTV, TROYPOINT App, were automatically added to the USB drive which is great!
How To Transfer Apps from Onboard Storage to USB Drive
The first thing I want to do is write down or take a screenshot of the partition ID where we are moving the application to. We can easily get this by looking at the last command I issued in Remote ADB Shell App which as df -h.
If your screen doesn’t show this information, just issue the command df -h again.
The ID that I will need for this next command that I’m going to issue is b364d821-f0b7-4f6f-8c67-eeb62f364ae1 You will see that I am getting this from the /mnt/ partition below. Yours will be different than mine.
The second step I need to complete is determine the Android package name for the app that I want to transfer.
We can list all of the package names installed on the device with the following command.
pm list packages
After the command is ran, you will see a similar screen. You can use the up and down arrows on your remote to scroll for the application that you want to move.
In this example, I’m going to move the UFC app over to the USB drive and you will see that the package name is com.neulion.firetv.ufc.android.amazon.
Now, I’m going to combine the partition ID with the Android package name to move the application with the following command.
pm move-package com.neulion.firetv.ufc.android.amazon b364d821-f0b7-4f6f-8c67-eeb62f364ae1
You will see a success message if the process completed properly.
Now, when I go back into Fire TV Stick 4K Settings / Applications / Manage Installed Applications, you will see that the UFC app now has a USB icon next to it.