In Android source code repository, cupcake (Android 1.5) has been merged to master branch. Current implementation of SystemServer.java throws exceptions and Android doesn't boot up properly.
Quick hack. Let the system thinks battery is healthy. Here's my patch.