Update: As many of you have pointed out, this procedure doesn’t work well with newer versions of KitKat (4.4.1+) or Lollipop (5+). A lot has happened with the Android OS since the publication of this article and it’s likely that workarounds like these have been patched or deemed obsolete. Given that I no longer have my KitKat phone to replicate issues, I can’t give out more advice in the comments like I used to but the answers already here and other users’ comments may help you out.
If you’ve been using Android for a while you might have found out that the Android 4.4 (KitKat) update strips your possibility to write data directly to the SD card. This limits you to using the internal memory which you may already know can fill up pretty fast. You have the option of rooting your device but that process is a bit complex and carries the risk of bricking your device or at the very least voiding your warranty.
Some have reported that there are ways around this by installing some third-party apps that circumvent the issue but I tried them and they didn’t work for me. Also, I tend to prefer more solid solutions that don’t rely on more apps to the things that the phone should do by itself.
A little preparation
Like any good recipe, you’re going to need some basic ingredients. This is going to require that you download the Android SDK Tools which might seem scary if you’re not a developer but it’s actually a very quick process and you’ll feel like a pro when you’re done. When you visit the link above make sure to select your appropriate platform from the SDK Tools Only section. If you’re using Windows, make sure to download the ZIP version, not the EXE. Once the download finishes, unzip the package to a location of your choosing.
The next thing you’ll need to do is enable Developer Options on your Android device. The short version of how to do that is to go into System Settings, select About Phone, and then tap Build Number seven times. You can check out my post on How to enable Developer Options on Android for more detailed instructions and screenshots.
Make sure that Developer Options are enabled on your Android device and that the USB Debugging option is marked.
Connect your phone to your PC using the USB cable. If it’s the first time you’re doing this, make sure to wait while all of the drivers are installed automatically. When that’s done, make sure you set your Android connection to “Charge Only”, or anything other than “USB Storage”.
Open up the Android SDK folder you unzipped. If you do not see a platform-tools folder then you’ll need to open the SDK Manager application. It will retrieve a list of the necessary packages in order to use the tools you need. From the list make sure to select Android SDK Platform Tools. All the rest are optional. Once you select the appropriate packages, click on Install packages, accept the terms and click on Install again.
Now you should see the platform-tools folder. If you’re on a Mac then just right-click on the platform-tools folder and select “New terminal at folder”.
If you’re on Windows open up the platform-tools folder and from there press Shift and then right- click and select “Open command window here”.
A command window will pop up. Type in the following commands:
For Windows: adb devices For Mac: ./adb devices
You should see the name of your attached Android device right under. If it shows up, type in the following:
For Windows: adb shell pm set-install-location 2 adb shell pm get-install-location For Mac: ./adb shell pm set-install-location 2 ./adb shell pm get-install-location
If you did it right the final output in the console window should say: 2 [external]
That’s it! You are now able to write all your data or apps directly into your SD card and take advantage of all that extra space. Enjoy!