I have been working with mobile lately and one of the hardest things to do is to test your application (web or not) in a phone, even more when you don’t have a couple of hand full of real phones to test your application.
Running some search’s I have found out some good sites with emulators, from the old style into the new smart phones.
Start with A guide to mobile emulators from Mobi Forge. I has almost the full list of the mobile emulators to be download and it is only outdated in regards of the Blackberry emulators, that needs an older library of Java.
What happens is that some urls have changed and some emulators need older libraries, like the Blackberry ones. For the Blackberry, to get an older library, you will need to fill out a form and then Java will send you the link with the JDK 1.5 to be downloaded. The issue with this library is that it has been discontinued and the Blackberry Email app, necessary to see webpages, does not support this new library yet. Under Linux you can use Synaptic (or apt-get, yum, etc) to install the Java Development Kit 5.0 Update 22.
Anyway, the next step is to download the VirtualBox. Some emulators, like the Palm and the Android, are under a VirtualBox disk. This makes it easier to install and run the emulators, besides this one, most of the rest are under some SDK environment.
There are a couple of test enviroments that are available online, but those are only for testing web pages, anyway, a good resource.
Also download an emulator for Openware and WML. We still have a ton of those phones around and if you are developing a webpage, then, you must use this.
I have been searching emulators for Japanese phones and so far I haven’t been able to find something really good. There is a Firefox extension, FireMobileSimulator that actually does a very good job and the only fall back is in regards the encoding. It seems to read the encoding of the machine, so, I got situations where in Japan the test was giving wrong results, but here in US everything was alright.