After starting android virtual device (emulator) it was unable to use it because of continuously showing popup with error message. Emulator complained that android.com.phone has stopped unexpectedly – something really odd. Clicking on OK closed dialog but emulator immediately displayed the new one on the desktop. Starting and stopping AVD didn’t help. Here is complete error message:
The process android.com.phone has stopped unexpectedly
Among other errors, LogCat also printed:
android.database.sqlite.SQLiteException: Can't upgrade read-only database from version 327686 to 393222: /data/data/com.android.providers.telephony/databases/telephony.db
It seemed that an error has occurred suddenly (without reason), but later I realized that closing emulator while booting could be the reason. I was tweaking AVD parameters and instead of x86 I set ARM emulator. Booting ARM emulator is slower then x86 so I didn’t want to wait until booting process finishes. I closed Gingerbread emulator and launch another (ICS tablet) for some other application. Next day, after starting Gingerbread emulator I was in trouble.
Well, solution is very simple (after reading logs with LogCat and several hours Googling). Delete broken AVD from Eclipse (Android Virtual Device Manager) and create the new one with the same settings. New AVD should launch without a problem and you will be able to continue developing Android applications.
Hope this post will save your time in case of similar problem.