Many devices now have a single internal partition for apps and data on the internal NAND / eMMC flash, but some companies are still providing firmware with the flash partitioned with an “internal storage” partition for apps and systems, and another partition either called “phone storage” or “internal SD card” to order to store data. In the first case, no problem, but in the second, you may have issues where you have plenty of total space, but the device keeps telling you there is no space, leading to error messages such “email service has stopped”, app updates which can not complete, and app update downloads occurring in loops and draining the battery.
I’ve experienced this issue with my phone (ThL W200) which features a mere 0.91 GB internal storage out of an 8GB NAND flash.
Internal storage was 0.91 GB (94% full), phone storage 5.73 GB(3% full), and my micro SD card 3.69 GB (78% full) with about 40 apps installed thanks to some of the the techniques mentioned below, but this was still not enough. Switching the “default write disk” to “Phone storage” did not help much, as it mostly saved pictures to the phone storage partition instead of the SD card.
Most solutions requires rooting your devices, which can do with Windows, or directly from your device using Framaroot.
Easiest Solutions (no root required)
The obvious solution is to uninstall the apps you don’t need, but this is not always possible.
The other one is to go Settings->Apps, sort the list by size, and click on Individual and click to SD card, which should move some data, but the complete app, to your micro SD card, provided you have one installed. If an app uses widget(s), do not move its data to the SD card, or the widget(s) won’t work.
Using Apps (Root required)
There are some apps such as Link2SD, App2SD and Clean Master that will either automate the process of moving apps to the SD card, or clean up Junk files, or both. I’ve used Clean Master as it provided both functionalities. It can also automatically “boost your RAM” by killing some apps, but I’m not sure this feature is very useful.
Each time, I install an application, it will ask me if I want to move it to the SD card, so I don’t need to do that manually.
There are also various tutorials on XDA Forums , using Link2SD to help you move some directories (e.g. /data/app, /data/dalvik-cache) to the SD card. Link2SD Plus, the paid version of Link2SD, now allows you to link the data directory and dex files to the SD card, as well as clearing the cache automatically.
These methods could help getting more space for apps, but did not address the unused and wasted space I had on the phone storage partition. So I’ve tried to do something like that with adb shell, copying the data and data-dalvik directory to the phone storage, and creating symlinks, but after reboot, the moved app where all reported as “not installed”.
Repartitioning the Flash
In order to make use of the “phone storage” partition, one of the first thing I did was to search for something like GParted for Android in order to re-arrange the partitions on my device, but I could not find anything.
- Install ClockModWork (CMW) recovery
- Make a backup
- Install and run an APK to re-partition your flash
- Reboot into recovery to wipe data/factory reset
- Restore the backup with your apps and settings
Here are the steps I followed for ThL W200:
- Download ClockModWork (CMW) recovery image for ThL W200 and copy it to the root of the SD card
- Install Mobileuncle Tools
- Start Mobileuncle Tools, grant super-user privileges when asked, go to Recovery update, and select W200_130712__recovery_130825-123122.img to in CMW recovery. Reboot into Recovery mode.
- Backup your system. The only backup option that worked for me was “Backup to internal sd card”, so I did that… Since I’m going to resize the partition, this could be a problem though, but I carried on anyway
- Download and install meteos-mtk6589-rom-edit-8gb-en.apk. This is the app that does all the “magic”, and it should apparently work with other MT6589 based devices.
- Start the app, and select your partition arrangement with an internal storage of 1.5GB, 3GB, 4GB, 5GB or 6.33 GB.
- Once this is done, reboot into recovery, select “Wipe Data/Factory Reset”, then “Yes — Delete all user’s data”.
- Restore your CMW backup, which in my case unsurprisingly was gone. So I had to spend a few hours to re-install the apps I use frequently. I should have probably used something like Titanium backup to save me time.
Nevertheless, the while process worked, and I now have 5GB “internal storage” partition, which will be large enough to install as many apps as I possibly need.
As usual, I welcome alternative methods, or corrections in the comment sections.
Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011.
12 Replies to “Techniques to Get more Space for Apps in Android”
Why didn’t they just ship the THL W200 like this???
Yes, Android is this stupid.
I’m not sure why they did like it, and this is ridiculous as it is the same with many devices.
Recent Android devices I received (Mele X1000, Vega S89, M8) however, all have one and only partition, which IMHO is the way it should be. I thought it may be an old requirement of Android, but I’ve recently seen an older Archos tablet with Android 4.1 using only one large partition.
You can not repartition because the partition info has been compile into uboot. So, unless you have full source code of uboot, you can’t change that.
But the last part with “meteos-mtk6589-rom-edit-8gb-en.apk” is just doing that, resizing the partitions, no?
do you have a working version for lenovo s750 .,.. on s750 it freez the phne and phone must be reflash after trying 🙂 thanks to let me know 🙂
Tried this for my Fly IQ4410 (1.5 GB /data partition). I got 0,5 GB of additional space, that is great. But backups really didn’t work for me. Only the full data wipe and cache clean with system re-install helped to make Android functioning normally. So, be ready to loose all your phone data and feel free to re-partition phone’s ROM with this utility.
> “You can not repartition because the partition info has been compile into uboot. So, unless you have full source code of uboot, you can’t change that”
I think you can tell the kernel to ignore u-boot’s mtdparts, and to use its own (from the mach/board file).
Why my phone dont open… he stay in loading for one more hour? Why?
hey ..pls will this work on a lenovo idea pad A10
There are multiple techniques, so some will certainly work.
The last one requires a custom firmware, so it’s more difficult.