FOUND THIS WAY TO TRANSFER APPS AND GAMES TO SD CARD WHICH CANNOT BE MOVED SO DECIDED TO SHARE IT.REALLY GOOD THING FOR LOW END DEVICES WITH LESS INTERNAL STORAGE AND THE BEST THING IS NO ROOT REQUIRED.
I'll be honest here.This actually work,I'll suggest you to give it a try once.
I'll be honest here.This actually work,I'll suggest you to give it a try once.
Adb is the Android Debug Bridge which comes as part of the SDK. If you don't have the SDK the first thing you will need to do is install it (get it fromdeveloper.android.com). Once you have the SDK you can find the adb tool in <sdk>/platform-tools/, though in my case I have it at <sdk>/tools/.
Update 2012-01-26: You may find when you unpack the SDK adb isn't there. If that's the case you may need to run the "
android
" program (./android
under linux) to be shown a window which provides a way to download platform-tools. once you have installed that you should find adb
there.
After you've installed the SDK you'll need to connect your phone to your computer using the USB data cable. You'll also need to make sure that debugging is possible by visiting "Settings -> Applications -> Development" and checking "USB Debugging".
Enabling moving of apps to SD card
To change the the install location we are going to run the pm command via the adb shell. Here's the details of the pm command:
The setInstallLocation command changes the default install location
0 [auto]: Let system decide the best location
1 [internal]: Install on internal device storage
2 [external]: Install on external media
To change the default install location to the SD card (which also enables moving most apps to the SD card.) run the following from the dir containing the adb command:
./adb shell pm setInstallLocation 2
If you at any point hit the following:
error: insufficient permissions for device
Try doing this:
./adb kill-server
sudo ./adb start-server
You should now find you can run the above commands without error.
Insufficient Storage Available
The other error I had was that when I was trying to move any app after changing the default install location to the SD card was something along the lines of "Unable to move application. Insufficient Storage".
The way I got around this was to uninstall twitter which was using about 17mb (it was the largest app). After that I re-installed it and it used far less space (naturally as the data would have been removed by the re-install process). After that I was able to successfully move most of my remaining apps (twitter included) to my SD card.
Re-setting the installation location back to auto
I'd strongly recommend re-setting the default installation location when you are done moving apps. The reason for this is that apps will fail to be installed directly to the external location, at least this is what I experienced when trying to re-install the twitter app.
To reset the install location to automatic (let the system decide) use the following:
./adb shell pm setInstallLocation 0
Should you forget where it was left at you can always run:
./adb shell pm getInstallLocation
e.g:
$ ./adb shell pm getInstallLocation
0[auto]
0 comments: