Mobile device emulator

Series 40 and Symbian SDKs include an emulator application that simulates the hardware and operating system of an actual mobile device. The emulator allows you to develop and test MIDlets on a computer before testing them on actual devices.

The emulator provides as faithful an emulation as possible of the operating system running on the target device, and includes processes and scheduling that are almost identical to those on the target device. However, there are necessarily some differences between the emulator and the target device, so testing MIDlets on actual devices remains an important part of the development process.

Figure: Symbian Belle emulator (left) and Series 40 6th Edition FP1 emulator (right)

You can integrate the emulator with both Eclipse and NetBeans, so that you can launch MIDlets directly into the emulator for debugging purposes. You do not need to restart the emulator for every debug session. You can leave the emulator running, rebuild the debugged MIDlet in the IDE, and then relaunch the MIDlet from the applications menu in the emulator. For instructions on how to integrate Eclipse and NetBeans with the emulator, see section Setting up the development environment.

You can also open MIDlets directly from the emulator by selecting File > Open and then selecting either the JAD or JAR file of the MIDlet. Any MIDlet you open is installed onto the emulator in a similar manner as on an actual device. You can also open image files, MMS files, web pages, and other supported media files. The emulator handles an opened file using the native application associated with the type of the file. For example, if you open an image file, the emulator launches the device's default image viewer for displaying the image.

S60 3rd Edition FP2 and newer Symbian SDKs support MIDlet profiling, which allows you to monitor the runtime state of a MIDlet as it is running in the emulator or on a device. You can retrieve and analyze information about the Java heap (memory usage), CPU usage in different threads, thread monitor locks, and so on. You can use this information to optimize the performance of the MIDlet. For more information about MIDlet profiling, see the SDK documentation.

For more information about the emulator, see the following sections:

For more information about a specific SDK and emulator release, see the SDK documentation.