Na AllDroid fóru se objevilo HOWTO na zrychlení Androidu s Dalvik Jit (Just in time compiler) pro milestone. Podle komentářů na Světu Androida funguje i na G1, takže hůrá na to.

V prvé řadě upozornění: Vše děláte na vlastní riziko. Tento článek je zde pouze pro pomoc těm, kteří se bojí angličtiny nebo zaváhali v některém kroku, nejsem autorem tohoto vylepšení.

Nezapomeňte si udělat zálohu, ideálně přes switchrom nebo podobné.

Pro jednoduchost předpokládám, že pracujeme na Linuxovém stroji, že máte připojenou G1 (nebo milestone, ostatní nevím jak na tom jsou) do USB a že máte příkaz adb v PATH (pokud napíšete adb a vypíše se vám nápověda, pak je to ok).

Všechny příkazy provádíme přímo na počítači, na telefon přistupujeme pro pohodlnost přes adb.

Nejdříve přepneme telefon do recovery módu, buď klasicky držením home při restartu nebo přes adb

adb shell 'reboot recovery'

Jakmile se telefon přepne do recovery módu, můžeme začít:

# nejdříve připojíme adresáře, které v recovery módu nemáme
adb shell 'mount /sdcard/'
adb shell 'mount /system/'
adb shell 'mount -o remount,rw /system/'

# vytvoříme si na adresáře pro soubory, stáhneme a rozbalíme
mkdir /tmp/jit
cd /tmp/jit
wget 'http://alldroid.org/download/file.php?id=1374' -O vmlibs.zip
unzip vmlibs.zip

# nahrajeme soubory na kartu do telefonu
adb shell 'mkdir /sdcard/jit'
adb push libdvm.so /sdcard/jit/
adb push libnativehelper.so /sdcard/jit/
adb push bin/dalvikvm /sdcard/jit/

Nyní pustíme adb shell a budeme pokračovat přímo na telefonu. Nejdříve zálohujeme přepisované soubory a následně nahrajeme upravenou verzi dalviku.

# spustime shell
adb shell

# udelame zalohu
mkdir /sdcard/dalvik_backup
cp /system/build.prop /sdcard/dalvik_backup/
cp /system/bin/dalvikvm /sdcard/dalvik_backup/
cp /system/lib/libdvm.so /sdcard/dalvik_backup/
cp /system/lib/libnativehelper.so /sdcard/dalvik_backup/

# a ted uz zacneme menit soubory
echo "dalvik.vm.execution-mode=int:jit" >> /system/build.prop
cp -f /sdcard/jit/dalvikvm /system/bin/
busybox chmod 755 /system/bin/dalvikvm
cp -f /sdcard/jit/libdvm.so /system/lib/
cp -f /sdcard/jit/libnativehelper.so /system/lib/
chmod 644 /system/lib/libdvm.so
chmod 644 /system/lib/libnativehelper.so
chmod 666 /system/build.prop
sync
mount -o remount,ro /system
reboot

A pokud budete mít štěstí a telefon nabootuje, měli byste poznat jasné zrychlení.

Já chci zpátky

Pokud chcete vše vrátit do původního stavu (pokud jste postupovali dle návodu výše), opět přejděte do recovery módu a použijte následující:

# spustime shell
adb shell
mount /sdcard/
mount /system/
mount -o remount,rw /system/
sed -i "s/dalvik.vm.execution-mode=int:jit//" /system/build.prop
cp -f /sdcard/dalvik_backup/dalvikvm /system/bin/
busybox chmod 755 /system/bin/dalvikvm
cp -f /sdcard/dalvik_backup/libdvm.so /system/lib/
cp -f /sdcard/dalvik_backup/libnativehelper.so /system/lib/
chmod 644 /system/lib/libdvm.so
chmod 644 /system/lib/libnativehelper.so
chmod 666 /system/build.prop
sync
mount -o remount,ro /system
reboot