"The ARM emulator is really really slow. Maybe it's picked up speed with Android x86 but when I was developing for Android the emulator was almost unusable and basically everybody's advice was to go out and buy an Android device. This will get pretty expensive pretty fast if you need to emulate the range of Android devices."
This is spot on and. I've used other J2ME emulators in the past and it shocks me that the current Android emulator is acceptable and hasn't improved that much. I mean, one can't even begin to convey how ridiculously slow it is and in this day and age, that's unacceptable. Especially when you put it next to the iOS simulator - which has been fast from day one. In fact, this can be said for all the Android tools.
The people making Android might see all this as great and feel good about working with the OS community, but as someone who has to deliver apps using those tools, they - imo - suck and are counter productive. But, that can be said about most of the Java stack/tools, which is why I abandoned it years ago.
I don't know a single Android developer who uses the emulator. As you point out, I don't understand how I can run the emulator on a 3 point something gigahertz processor with zillions of cores, many gigabytes of RAM and the emulator has the same sort of performance as a 100MHz ARM device.
And even if you manage to get the emulator running it is virtually useless. Various pieces are missing. A lot of my work involved sound. The trivial "play this mp3" interface worked, but doing anything else failed. For practical purposes you cannot play or record audio.
Then Google likes to have bugs such as the WebView crashing when you use addJavascriptInterface. This means you can't run most apps that use WebViews. The bug has been there for 18 months, starred by many users, and Google has done SFA about it. Most importantly, why does the emulator differ in behaviour from the real device?
This is spot on and. I've used other J2ME emulators in the past and it shocks me that the current Android emulator is acceptable and hasn't improved that much. I mean, one can't even begin to convey how ridiculously slow it is and in this day and age, that's unacceptable. Especially when you put it next to the iOS simulator - which has been fast from day one. In fact, this can be said for all the Android tools.
The people making Android might see all this as great and feel good about working with the OS community, but as someone who has to deliver apps using those tools, they - imo - suck and are counter productive. But, that can be said about most of the Java stack/tools, which is why I abandoned it years ago.