Matching BlackBerry JDE, Simulator, and Device Versions
The BlackBerry Java Development Environment (JDE) is available in several versions. The version number of the JDE is directly related to the version of the OS running on the smartphones where your app will reside. Selecting the JDE version is a critical and careful step to take in your path to delivering your BlackBerry app.
Keep these ideas close at hand:
Functionality available in one OS version might not be available in a prior version. For example, the BlackBerry Storm (OS 4.7) smartphone includes touchscreen and accelerometer application programming interfaces (APIs) that are not available in earlier OS versions written for BlackBerry devices without that hardware. In this case, you need to test your app on the Storm simulators, so you know what your users will experience when they install it on their touchscreen BlackBerry smartphones. With the BlackBerry App World, you can deliver a different version of your app that's optimized for a touchscreen device, so that's another option to keep in mind.
An application written for a current OS version might not execute on a BlackBerry smartphone running an earlier version. This is true even for simple applications. Even if both OS versions have the exact same APIs, the code itself might be located in different places in the libraries, which will break your application when it tries to run. In this case, you need to make sure your app only loads onto smartphones that have the same version of the OS that your app was built for, or later. And you can do this when you submit your app to the BlackBerry App World.
Similarly, an application written for a current OS version might not execute on a future version, for the same reasons. However, you can reasonably assume that your BlackBerry application will execute without rebuilding for several major OS versions into the future. In this case, you need to keep track of the RIM smartphone OS releases, and run your app on a simulator or two that uses newer OS versions. You will discover issues either on your own or through feedback at the BlackBerry App World - and it's always better if you find problems before your users do.
Simulators installed with the JDE will work with that JDE; however, simulators downloaded directly from the BlackBerry developer site might not function properly when launched from a JDE because the JDE's debugger expects to find particular RIM libraries that aren't available. In this case, you need to tell the debugger to continue and ignore the missing library.