Setting up Hebrew Android fonts on your AVD emulator
There are several good guides for installing Gilad
Ben-Yossef’s excellent Hebdroid fonts on physical
Android devices, but those don’t really work with the Android SDK’s emulator -
changes to the system directory aren’t persistent. Here’s how to get around
that:
First, a few downloads. You’ll need:
- The android emulator (presumably you already have this, if not, you can get it at developer.android.com)
- The hebdroid fonts
- unyaffs, which will extract the
system.imgfile - A snapshot of
yaffs2,
which will create our new
system.imgfile. This is actually today’s snapshot from the git repository, which worked for me. For later versions, take a look at the git repository.
Building unyaffs is simple enough, or you can use the prebuilt version from
the site. Building mkyaffs2image is also quite easy - just untar the
snapshot, and run make in the utils directory. Put both of these utilities
somewhere in your $PATH for convenience.
Now we can get to work. First, locate your system.img file. It should be
within your Android SDK directory, under platforms/android-3/images (or
whatever version you’re emulating). We’ll extract that - create a temporary
directory, say /tmp/system.img.hebdroid, and cd to it. Then run:
| |
The whole /system filesystem should be extracted. Now extract the ttf files
from hebdroid.zip into the fonts directory, replacing the original font
files. To pack everything back up, run:
| |
Now, I recommend putting renaming your original system.img to
system.img.orig, and using symlinking system.img.hebdroid as your new
system.img (the emulator does indeed follow symlinks), but you can basically
do whatever you like. You may have to recreate your AVD, but everything should
work. Happy hacking!