MicroEmulator
MicroEmulator — is a free and open-source platform independent J2ME emulator allowing to run MIDlets on any device with compatible JVM. It is written in pure Java as an implementation of J2ME in J2SE.
History
In November 2001, MicroEmulator project has been created on SourceForge.On 31 March 2006, MicroEmulator version
1.0 has been released.In November 2009, project moved to code.google.com, and after Google closed it, development moved to GitHub.
On 10 January 2010, the last stable version
2.0.4 has been released.On 24 May 2013, the last preview version
3.0.0-SNAPSHOT.112 has been released.After 2014, MicroEMU technology has been acquired by All My Web Needs company and all the MicroEmulator's docs and binary builds has been removed from the official site.
All sources and binary previously released on SourceForge, Google Code and GitHub preserved as open-source, but development stalled since then.
Features
- Supports loading MIDlet from JAD or JAR file
- Supports various Java APIs and JSRs :
- * MIDP 2.0
- * CLDC 1.0
- * CLDC 1.1
- * Generic Connection Framework API
- * File Connection and PIM API
- * Bluetooth API
- * Wireless Messaging API
- * Multimedia API
- * Location API
- * Record Management System API
- * LCDUI, Nokia and Siemens UI APIs
- Platform independent
- Works with different GUI libraries
- Supports insert PC clipboard text into MIDlet's text input fields
- Supports control MIDlet via on-screen or real keyboard keys, touch screen and mouse gestures, mouse scroll wheel and keys
- Screencast recording as GIF animation
- Record Store Manager
- Log console
- Show mouse cursor position in MIDlet screen coordinate system
- Allows control network access and setup proxy for network connections
- Runs in headless mode
- Many CLI options
JSR lib loading
File system access
By default, MicroEmulator does not loads JSR 75 lib, required to grant MIDlets an access to file system.To grant file system access,
config2.xml file should include the next code block after tag:...
MicroEmulator should run with loading JSR 75 lib. On Linux, launch command to add into
microemulator.desktop file is:On Windows,
; in command should be replaced with : .To load more libs, path to additional libs should be added each after each in a row into launch command.
Java applet for Web
MicroEmulator allows conversion of any J2ME app into a Java applet, that could be placed on a web page. This feature is used for demonstrating apps and games demos on vendors sites, but it requires JVM and Java Web Start plugin to be installed on the user's PC or device.Skin, screen and window size configuration
MicroEmulator allows interface customization with skins called "devices" and distributed with few "devices":- Default device — phone with 176x220 color display and antialiased font
- Minimum device color — small phone with 128x128 color display and non-antialiased font
- Minimum device — small phone with 128x128 monochrome display and non-antialiased font
- Large device — large phone with 240x320 color display and antialiazed font
- Resizable device — full window resizable color display with antialiased font
Screen could be switched between portrait and landscape orientation. Additionally its possible to show current MIDlet screen scaled in a separate floating window.
Limitations
- MicroEmulator lacks support for few Java APIs and JSRs often used in j2ME games :
- * Mobile 3D Graphics API
- * Scalable 2D Vector Graphics API
- * Java bindings for OpenGL ES
- * Mobile 3D Graphics API 2.0
- * Mascot Capsule 3D API
- Some MIDlets may require other JSRs, that are not availabale for MicroEmulator yet.
- For input Cyrillic characters it might require to use special "device" skin.
Ports and forks
Android
MicroEmulator has official support for the Android platform. It is also possible to convert J2ME MIDlet JAR-packages into standalone APK files.J2ME Loader — is an enhanced fork of MicroEmulator for Android.
JL-Mod — is an enhaced fork of J2ME Loader with the Mascot Capsule 3D API support.
iOS
MicroEmulator has been ported to iOS, but it requires to use iOS jailbreaking technique to install it on iPhone or other iOS device.Mac OS
MicroEmulator officially supports Mac OS, but there is also package in MacPorts repository.Maemo
MicroEmulator has an official support for Maemo platform, and there is custom MicroEmulator devices skins made for Nokia N900.Here is a command to launch MicroEmulator on Maemo with JSR 75 lib loaded, to grant MIDlets file system access:
MeeGo/Harmattan
KarinME — is a MicroEmulator front-end launcher for MeeGo/Harmattan platform, with a GUI written in QML.mpowerplayer SDK
mpowerplayer SDK — is a freeware enhanced fork of MicroEmulator, initially created for MacOS as J2ME MIDP 1.0 emulator, later become a platform independed J2ME MIDP 2.0 emulator with own implementation of M3G and SVG.WMA has been implemented for mpowerplayer SDK as an open-source library.
Development stalled after mpowerplayer SDK version
2.0.1185 release in 2007. ZIP of latest distribution package available for download from archived official website on Wayback Machine.Usage
MicroEmulator as Opera Mini sandbox
- Web applet with Opera Mini MIDlet running inside MicroEmulator has been placed on Opera official website.
- MicroEmulator used together with Opera Mini MIDlet to browse Internet via metered networks and slow mobile GPRS connection on netbooks, low-end PCs and other mobile devices.
- In some countries mobile network operators provided free traffic or very lowcost plan with unlimited traffic for Opera Mini and some social networks and services via its J2ME clients. Use of MicroEmulator together with Opera Mini or other app with free traffic plan allowed to browse Internet fully free on PC at home or on netbook on the go.
MicroEmulator as J2ME SDK
- MicroEmulator, together with few MIDlets for programming directly on phone, could be used as a fully complete J2ME SDK: it is possible to write MIDlet source code, compile and preverify Java class files, package all files and resources of MIDlet project into JAR with JAD, and then run built MIDlet for test and debug without even leaving MicroEmulator window. The only external dependency is a JVM installed on PC or device to run Microemulator itself.
- MicroEmulator could be used as alternative to Sun's and Oracle's JavaME emulators for various desktop Java IDE's. For Eclipse, there was initially an open source bridge plugin known as EclipseME, but Eclipse 1.7 and onward got its own bridge plugin.
- MicroEmulator available as
org.microemuplugin for Apache Maven build automation tool.Publications
Video
- Alan Bazan.