As most of you might know, when you update an application which is already in your ROM, the application is not really updated in ROM (As it is supposed to be Read Only Memory) but newly installed in user applications. This causes some people like me to manually move the updated APK from User to System applications or request "updated packages" to flash through recovery.
There are at least 2 reasons to that need:
- We do not have a lot of memory in our devices so why wasting space with duplicated APK.
- People using Samdroid's Apps2SD might want some applications to be in ROM instead of SD because it loads faster.
With this problem in mind, I decided to develop an application that would let you select the applications that should automatically be moved from user memory (/data/app/) to System Memory (/system/app/).
User interface description:
On top you have:
- Your Rom free space and estimated space after reboot (AR)
- Your User free space and estimated space after reboot (AR) (This is not accurate if you use Apps2SD)
After loading, the applications shows you the list of all your applications.
On the right side, you will see 2 lights and a toggle button.
- The first light indicates if the application is in system memory (green = exists, red = not exists)
- The second light indicates if the application is in user memory (green = exists, red = not exists, yellow = will be moved on next reboot).
- A toggle button that activates auto-move of the application.
If you click on an application icon, you will have some information about the application.
Select the application you wish to automatically move, save the configuration and enable Apps2ROM on the bottom.
Use your phone normally, next time you restart your phone, applications will be moved.
In some cases, mapping between system application and user application might not be done automatically. In that case, a popup will prompt you to map it by manually selecting a system APK. If you made a mistake selecting the wrong APK, you can unmap it through the application information popup window.
- You need to be root to enable the automatic app move.
- I tested it on my Spica on Android 2.2 with and without SamdroidTool's Apps2SD.
- Haven't tested it with Link2SD (might work or not, I'll be glad to have some feedback about it)
- Always have a look to the estimated ROM free space After Reboot (AR) and never let it drop too low as future application update might be bigger than current installed one. I don't know how the ROM behave when it has too few space!
- If for any reason you wish to uninstall the application, don't forget to disable it before! (bottom right toggle button).
Anyway, as always, BACKUP YOUR SYSTEM in case you accidentally override the wrong application (might only happen if you manually mapped the wrong APK).
Feel free to give me some feedback, I hope you enjoy it
Version 1.0.0 is now on Android Market
Download link: Download on Market
If updating from any version before 1.x.x, please READ THIS:
Before installing the final version, you have disable Apps2ROM and uninstal it as I changed the package name (Or you will have 2 versions of Apps2ROM in your system so it might not disable itself properly). Doing so, you will loose all your previous selection.
If you wish to backup your current Apps2ROM configuration, after disabling apps2rom but before uninstalling it do the following:
- copy /data/data/com.lrfrog.apps2rom/files/userSystemAppInfo.xml to your sdcard
- uninstall apps2rom
- install new version from market
- copy userSystemAppInfo.xml from your sdcard to /data/data/com.lrenault.tools.apps2rom/files/userSystemAppInfo.xml
- Launch new version and you should have your configuration back
- Enable Apps2ROM
If the directory /data/data/com.lrenault.tools.apps2rom/ does not exits, launch Apps2ROM and close it. The directory structure will be created.
Updated to version 1.2.3 on market
Change log for 1.2.3
- Fixed crash while exiting application.
- Optimized startup app loading.
- Added cleaning of Dalvik-cache duplicates after moving an application.
Change log for 1.2.0
- New "Move now" button
- New fully automatic system app detection
- Added version info for both user and system app
- Improved compatibility
- Improved error detection and management
Change log for 1.1.3
- Compatible with more devices
- Less "fake enabled"
People having problems with previous version should Disable, save and then re-enable after updating to newest version. Most problems should be fixed.
Change log for 1.1.2
- Added sort by selection
- Fixed Enable button not working on some devices (/system/etc/init.d/ does not always exists so it is created if not found)
Change log for 1.1.1
- Bug fix: on some devices Apps2ROM might not be enabled properly (should be rare).
- Added control: configuration must be saved at least once before enabling Apps2ROM
Change log for 1.1.0
- Added sort menu. (sorted by name, duplicates, system or user applications).
- Added save on exit option in preference menu.
- Added version number in application information popup.
- Default minimum free space in ROM set to 10MB.
- Added translations (French and Italian)
- Minor code change on Enable button.
Change log for 1.0.0:
- Added control to prevent user to fill all ROM memory
- New preference menu that lets you manually override the value of minimum free space to leave in ROM
- Better management of screen orientation change
- Fix bug on enable button: if you didn't granted Super user permissions it let you think that it's activated but it wasn't (can't be done without ROOT).
- Android (And Cyanogen6+ ?) "Move application to SD" detection (it will prompt you to manually move back application to internal memory if you want Apps2ROM to move them in your ROM).
Change log for 0.9.4:
- Fixed not moving selected applications when Apps2ROM is Enabled or remaining active when disabled
Change log for 0.9.3:
- Removed Busybox call
Change log for 0.9.2:
- Fixed some interface alignments
- Replaced Toggle buttons by Check boxes in application list (should be less confusing)
- Added Help menu with info and imaged tutorial