Techniques to Get more Space for Apps in Android
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.
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.
A post on Modaco explaining how to get 5GB internal storage for ThL W200 fixed all my issues. Unfortunately the instructions are device specific, but the overall concept might be applicable to all devices:
- 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.