Instructions
Automatic installation from ADBRecovery:
Copy the unpacked ocflac folder to your sdcard.
Copy the included install.sh script to the recovery folder on your sdcard (so it's like this: recovery/install.sh - do not put it in the scripts subfolder).
Boot to recovery (power off,hold camera or X + power, then volume up+camera), apply update.zip (use d-pad and enter), then reboot.
Remove the install.sh file from the recovery folder.
Manual installation:
Copy the unpacked ocflac folder to your sdcard.
From adb shell or terminal on the phone do:
backup:
mkdir /sdcard/ocflacbackup
cp /system/framework/framework.jar /sdcard/ocflacbackup
cp /system/lib/libmediaplayerservice.so /sdcard/ocflacbackup
cp /system/lib/libopencore_player.so /sdcard/ocflacbackup
modification:
su
mount -o remount,rw /dev/mtd/mtdblock6 /system
cp -f /sdcard/ocflac/framework.jar /system/framework
cp -f /sdcard/ocflac/libFLAC.so /system/lib
cp -f /sdcard/ocflac/libmediaplayerservice.so /system/lib
cp -f /sdcard/ocflac/libopencore_player.so /system/lib
chmod 644 /system/framework/framework.jar
chmod 644 /system/lib/libFLAC.so
chmod 644 /system/lib/libmediaplayerservice.so
chmod 644 /system/lib/libopencore_player.so
mount -o remount,ro /dev/mtd/mtdblock6 /system
Then reboot the phone. The first reboot will take longer than usual, be patient. Second reboot might be needed for everything to settle down.
The framework.jar has been disassembled and reassembled by JesusFreke's
smali/baksmali.
The framework.jar differs between different builds of Milestone system so I've assembled several versions, use the one appropriate for your build.