PCWorld has an article on how to install Android on your iPhone 3G. It is still a Work in Progress
Although this port does everything that you expect your smartphone to be able to do, it isn’t usable for day-to-day activities just yet–I haven’t implemented any power-management functions, so a fully charged iPhone running Android will last only an hour or so.

A few bugs and performance issues remain, too, so while the phone will be usable, it won’t be fast. If you do something unexpected (such as forcing the iPhone off), there is a small chance that you may end up restoring your device. However, it is impossible for any bugs to brick or disable your iPhone permanently.

Finally, media syncing is not working, so loading your media onto your phone is kind of a pain. I’m working as hard as I can, though, and I expect to fix these issues soon.

You can find the instructions at the here