Thursday, January 5, 2017

samsung galaxy s 3 - Move app to SD card


I'm currently confused on what mods to be used now. My unit by the way is Samsung Galaxy S3 I9300-International (rooted with Omega ROM 42.3 and Kernel SiyahKernel v1.9.1). The reason why I rooted my phone is to be able to move apps to SD card. My choices are here:




  1. DirectoryBind





  2. ExtSd2InternalSd




I don't know which is the right one to use in terms of compatibility even on Android 4.2 JellyBean because I'm too scared of bricking my phone. The first choice was published in 2011 while the other one was 2012. I don't know which is more stable for my phone. Hope for your kind suggestion.



Answer



If I am allowed to suggest out of the choices that you had provided, I will suggest Link2SD.


With Link2SD you can try moving/linking a non-critical application to the SD card and check how well it works. Once moved or linked, try to reboot the phone (no other way than rebooting to avoid disappointments) and see whether that moved/linked non-critical app works fine. By adopting this approach, you would not bring any serious trouble to your phone.


Since your phone is rooted and has a custom kernel, I assume you are proficient with this stuff. If not, you can always refer to this step by step guide.



Update and additional info


There are two means of freeing the internal memory in Android.




  1. Moving apps to external storage: A feature of opting to install apps on external card was introduced in Froyo (2.2–2.2.3, API Level 8). This also allowed moving existing apps to external storage. Few points to take a note here are:



    • It only takes a setting to be set to move future installations of
      apps. It can be set through ADB commands.

    • There are many apps available that enable users to move any existing apps to SD card, provided those apps are deliberately not marked as non-movable by the developer. System apps also cannot be moved to SD card.

    • In either case, the internal memory will not be completely unused by the application. It will have few bytes consumed, though it is considered insignificant in par with the case of not moving/installing the app to external storage at all.





  2. Linking apps to external storage: Linking is totally different from moving. This process moves the files of the application to the external card and creates a symbolic link in its place in the internal memory. Since the link is a reference to these files, Android doesn't complain about it. This given in detail in Link2SD's site which is reproduced below:





Q. What is the difference between “Move To SD Card (Native to Android)" and “Create (Symbolic) Link” in Link2SD? Which method conserves the greatest amount of internal memory, what are the advantages of "linking" over "moving" and vice versa?


Native apps2sd Starting with Android 2.2 (Froyo) Google introduced native apps2SD. This method moves




  • apk file on Android 2.2

  • apk + lib files on Android 2.3+


into a secure folder on your SD card in the main FAT partition.


It is the easiest method because it doesn't require you to partition your sdcard and root privilige.


It has some disadvantages though.


First disadvantage is that application files are just stored on the sdcard's main FAT partition. When you enable USB mass storage to share files with your computer (or otherwise unmounts or removes the external storage), any application installed on the external storage and currently running is killed. The system effectively becomes unaware of the application until mass storage is disabled and the external storage is remounted on the device. Besides killing the application and making it unavailable to the user, this can break some types of applications in a more serious way.


So second disadvantage is that not all apps can be moved with native apps2sd method because of above reason. In order for the application to consistently behave as expected, developer should not allow the application to be installed on the external storage if it uses any of the following features, due to the cited consequences when the external storage is unmounted: Widgets, Services, Alarm Services, Live Wallpapers, Live Folders, Account Managers, Sync Adapters, Broadcast Receivers listening for "boot completed".


Force move (requires root); You can force the apps move to SD card with native apps2SD even the application does not support moving as described above. Link2SD and some other apps can force move apps if you have root priviliges. But, note that this can break some applications, as described above.


Link2SD



Link2SD moves apk + dex + lib files of the application to the second partition and creates symbolic links in the original locations on internal storage. First advantage is that it can free up more space from the internal storage compared to native apps2sd method because it moves the dex file as well.


The second advantage of Link2Sd over native apps2sd is that by creating symlinks you get Android assume these apps are installed into the internal memory, though in fact all the files are located on the SD. Therefore you can link all applicatios to SD card; widgets, services, live wallpapers etc., all of them will work without any problem from SD card.


The third advantage is that, even when you mount the SD card to your PC your linked apps are all still live and working! Because Android unmounts the first FAT partition to share files with your computer but the second partition remains mounted. Link2SD allows you to run all of your "SD apps" even when mounted to your computer as a disk drive.


And, disadvantage is that, obviously, it requires root privilige and a second partition on your SD card. It's not working "out-of-the-box" as native apps2sd, you need to root your device and create a second partition on your SD card yourself.



No comments:

Post a Comment

samsung galaxy s 2 - Cannot restore Kies backup after firmware upgrade

I backed up my Samsung Galaxy S2 on Kies before updating to Ice Cream Sandwich. After the upgrade I tried to restore, but the restore fails ...