[Nexus One Android Development] tkirton:
Darktremor A2SD version 2.7 Update 3r1 (2010-06-26)

18 Roms install with Darktremor A2SD across 6 different Android phones.

Note: 2.7 update 3r1 fixes an issue where dalvik-cache was automatically loading to the SD card on boot. This may have been causing issues with some of the roms out there (especially Blue Echo 2.1.4). Thanks to Papa Smurf151 and Flipzmode for bringing this to my attention.

2.7 update 3r1 also has a2sd functions moved to launcha2sd...this program runs under bash instead of sh. This will help with roms that have issues where the open bracket on an IF statement is treated as a command rather than a condition ( [: not found )

Features for 2.7 update 3:

2.7 update 3 is all about dalvik-cache.

I noticed that some rom developers have been putting their dalvik-cache onto the /cache partition. This partition is a large (usually as large as the /data partition) that is mostly unused (I'm sure it is needed for installs, etc). I've taken that idea and applied it to Darktremor A2SD.

If you are running a rom that has uses the cache partition to store dalvik-cache, this update will not force it to move back to the internal storage.

It introduces new algorithms to detect dalvik-cache on cache partition. It also adds two new options:

a2sd cachepart - Moves the dalvik-cache to the cache partition

a2sd cachesd - Moves the dalvik-cache to the SD card (same as a2sd cache...eventually, a2sd cache will be deprecated).

If you are visiting the Hero CDMA forums and you use another Android-based phone, I encourage you to try the Darktremor A2SD on your phone. I would like to expand this program beyond the Hero CDMA if possible.

Look in the credits below to see the Roms that have been tested.

Here's the program:

2.7 Update 3r1 - http://www.darktremor.info/files/a2sd/a2sd-2.7-update3r1-signed.zip

Requirement: An ext2, ext3, or ext4 partition on your SD Card and a custom Rom that supports Apps2SD or A2SD

A2SD will not work on stock HTC Rom as stock roms do not have any method of launching A2SD in the boot image (unless they have been modified to work with A2SD). Try one of the many custom roms available if you want to use A2SD.

What is this?

A2SD (also known as Apps2SD) is a script that runs when you phone boots. Many of the ROM developers include the script in one form or another. Originally based on Cyanogen's Apps2SD, this script will allow a user to free up more storage space on their phone.

How does it do it? It uses an ext2, ext3 or ext4 partition (if one exists) to move all your free and purchased apps (not core apps) to the ext2/ext/ext4 partition on your SD card. It also tricks Android into thinking it is storing your programs in the internal storage space by linking the install directories (/data/app and /data/app-private) to similar directories on the sd card.

To find out all the features you can do with Darktremor A2SD, type /system/bin/a2sd help in the phone's terminal shell (or adb shell).

What does this program do:

1. Moves applications to the sd card

2. Moves dalvik-cache to the sd card (a2sd cachesd) or to the cache partition (a2sd cachepart...when the rom supports it). Not active on boot by default.

3. Activates swap partition if one exists (a2sd swap to activate, a2sd noswap to deactivate)

4. Allows the user to deactivate a2sd without removing the ext2/ext3 partition (a2sd remove to deactivate, a2sd install to activate)

5. Allows the user to restore dalvik-cache back to the main memory (a2sd nocache)

6. Allows the user to deactivate swap (a2sd noswap to deactivate, a2sd swap to activate)

7. Creates the /system/sd mount if one doesn't exists.

8. Checks the symlinks and flag files. Reports to the user what needs to be repaired. (a2sd check)

9. Repair symlinks based on active flag files. (a2sd repair)

10. Zipaligns all programs in /data/app and /data/app-private. Using the align command, /system/app will also be zipaligned. You can turn on and off ZipAlign (a2sd zipalign / a2sd nozipalign). Not active on boot by default.

11. Wipes dalvik-cache without the need to go into a recovery partition (a2sd resetcache)

12. Checks how much space is being used on your ext partition (a2sd diskspace)

13. Repairs missing or corrupted market in Android 2.1 (a2sd fixmarket)

14. Uses its own Busybox installation to ensure stability (/system/bin/busybox.a2sd)

How to tell if it is working

:

1. On your computer in the Android SDK Tools directory, type adb shell

2. In the adb shell, type /system/bin/a2sd check

3. Read the report. It will tell you if all is well. If you see anything with [X], type a2sd repair

If you want to move the apps to the SD card (when the program doesn't do it for you or you have moved the apps to the internal storage in the past):

1. Enter the ADB Shell by typing adb shell

2. In the ADB shell, type /system/bin/a2sd install

To prevent A2SD from running, type /system/bin/a2sd remove

If you have any issues, you can PM me for assistance, send e-mail to rtkirton at gmail dot com, or look me up on gtalk.