My internal storage capacity is running low,  what can I do? Currently, my internal storage is running low on space.  

What can I do besides moving applications to the external memory, as to free up more space, but preserve my current applications and avoid uninstalling?

(Some of them won't be moved)
The only way to do this is linking apps to SD card.



First : Rooting.


How do I root my Android device?


Disclaimer : I'm NOT responsible to any damage you do to your phone ,Although it is very rare for someone to damage his phone while rooting (or a myth), and Rooting might void your warranty , some warranty policies void if rooted and some other void when unlocking bootloader (i.e installing custom mod) ,I did both actually.



Second : Partitioning SD card.

Linking apps to SD card requires a second partition on SD card.


XDA Developers - Partitioning SD card




Third : Activating Link2SD or S2E.

You can use one of these apps to link apps to SD card(I prefer Link2SD) :


Link2SD
S2E


If you use link2sd you must choose the type of your ext partition at the first open of the app ,then restart ,if you restart and the app tells you the same message see BONUS section of my answer.



Fourth : Linking apps to SD card.

This is using Link2SD (I didn't experience with S2E) :

After activating Second Partition of your SD card you should now link apps to SD card.

NOTE : an app must be on internal memory before it can be linked , if you try to link an app while it's on SD card it will be moved to internal then linked ,so make sure there is enough space to move it.

when you long press on an app ,a context menu appears ,press Create Link to link the app.



Bonus : Manually mounting second partition :

first you must install this app to mount it:


Terminal Emulator


then open the terminal emulator(and make sure you give it root access),and type the following (each line standalone):

su
mount -t ext2 /dev/block/mmcblk0p2 /data/sdext2


now open link2SD and Menu &gt; More &gt; Quick Restart it will restart your android system (not your phone),However you must do these steps every time you restart the phone (not via Link2SD)