Release NotesSun Java Wireless Client Software 2.0May 2007 |
Sun Java Wireless Client Software is an optimized Java Platform, Micro Edition (Java ME) stack. This implementation supports multitasking and is built upon MIDP 2.1.
When Sun Java Wireless Client Software runs multiple MIDlets, it uses a single OS process. Therefore, a single instance of Java virtual machine can execute several applications simultaneously, providing each of them with a separate runtime environment. All running applications are isolated so that from the application's point of view, it looks as if each application is executed in its own virtual machine.
Sun Java Wireless Client Software is for developers who port MIDP and associated technologies to mobile devices. It is also useful to application developers who want to work with the very latest Java ME technologies, even before these technologies are ported to real devices.
The following features are part of Sun Java Wireless Client Software, version 2.0:
Sun Java Wireless Client Software is distributed in the following bundle, where nn is the build number and date is the build date:
jwc-2_0-rr-src-bnn-sun-date.zip
Unzip this bundle to the location of your choice.
If you also have the non-Sun JSR bundle, it is distributed as this file:
jwc-2_0-rr-src-bnn-non_sun-date.zip
To install it, unzip the bundle to the same location where you unzipped the first bundle.
If you also have the cryptography bundle, it is distributed as this file:
jwc-2_0-rr-src-bnn-crypto-date.zip
To install it, unzip the bundle to the same location where you unzipped the first bundle.
Following are the supported target platforms for running an implementation of Sun Java Wireless Client Software:
The supported platforms for building an implementation of the Sun Java Wireless Client Software are Linux/x86 and Windows/x86.
A Linux build system needs the following tools and software:
| Description | Definitely Works | Might Work | Does Not Work |
|---|---|---|---|
| Operating System | Ubuntu 6.06 | Other versions of Linux | |
| Compiler | GCC 3.4.6 | Other versions of GCC | |
| JDK | version 1.4.2 | Any 1.4.x version | JDK 1.5 and 1.6 |
| API Documentation | Doxygen 1.4.4 | Other versions of Doxygen | |
Doxygen is only required if you wish to generate the API documentation from the source code.
To cross-compile for the supported P2 OMAP730 board (see below), you need these additional tools:
| Description | Definitely Works | Might Work | Does Not Work |
|---|---|---|---|
| Cross Compiler | GCC cross compiler 3.3.1 | Other cross compiler versions | |
| Device Operating System | MontaVista Linux Consumer Electronics Edition 3.1 (2.4.20 kernel) | Other device operating systems | |
| Device GUI | Qt/Embedded 2.3.10. | Other Qt/Embedded 2.3.x versions | |
Qt/Embedded is required only for qt builds.
A Windows/x86 build system needs the following tools and software:
| Description | Definitely Works | Might Work | Does Not Work |
|---|---|---|---|
| Operating System | Windows XP | Windows 2000, Windows 2003 | |
| Compiler | Microsoft Visual C++ 6.0 Professional | Microsoft Visual Studio 2005 | |
| Unix-like environment | Cyg4Me | Full CygWin (with appropriate file system mounts) | |
| JDK | version 1.4.2 | Any 1.4.x version | JDK 1.5 and 1.6 |
| API Documentation | Doxygen 1.4.4 | Other versions of Doxygen | |
Doxygen is only required if you wish to generate the API documentation from the source code.
In this release, Chameleon skin properties can be loaded dynamically, although this option is off by default. When this option is on, you can adjust skin properties during development without rebuilding the entire Sun Java Wireless Client Software.
When installing a trusted midlet suite, Sun Java Wireless Client Software expects an exact
match between
the values of the properties from the application descriptor file and the
values of the same properties in the MIDlet suite Java Archive (JAR) file
manifest. The strings
representing the values are compared, including the leading and trailing
spaces. For example, the following properties are considered to be different
(the first line has an extra space after the first HelloMIDlet):
MIDlet-1: HelloMIDlet , , HelloMIDlet MIDlet-1: HelloMIDlet, , HelloMIDlet
qvfb Window
When you view the executable output in a qvfb window, keystroke
events might not be delivered to the Sun Java Wireless Client Software until you click
inside the window.
The implementation chooses record store file names based on the location of the
binary executables. The maximum path length for these files is 128. If the path
to the binary executable files is too long, you will encounter errors with
record stores. This can also happen if you are using MIDP_HOME
to point to the binary executable files. If you encounter this problem,
move your binaries to a location with a shorter path.
For any file name used in the JavaCall API Windows/x86 implementation (for example, a file name used in the JSR 75 FileConnection API), the maximum length is 256.
MIDP_HOME Environment Variable
The implementation chooses the MIDP home directory (where the appdb
and lib directories live) based on several rules.
If MIDP_HOME is set, its value is used unmodified.
Otherwise, the software searches for the appdb directory in the
following places:
PATH
To enable the implementation to pass the MSA TCK FileConnection tests on Win32, you must create the following directories:
C:\fc\photos\ C:\fc\videos\ C:\fc\graphics\ C:\fc\tones\ C:\fc\music\ C:\fc\recordings\ C:\fc\private\
These directories are standard locations for various types of media files, and the last one serves as a root directory for MIDlets' private data. See sections 6.3.3.11 and 6.3.3.14 of the MSA specification for details on the purpose of these directories.
Due to the unavailability of needed drivers on the P2SAMPLE64-V6 reference platform, JSR 135, the MIDP Audio Building Block (ABB) APIs, and the sound functionality they provide, are supported only on the Win32/i386 platform. On the P2 board, the Sun Java Wireless Client software is compliant with the MIDP 2.1 Specification. On Linux/ARM MIDP ABB functionality is supported through passing waveform data to a remote machine via network. This data may be passed to a sound driver on that remote machine, thus making ABB functionality work as specified.
In Chapter 3, in the section "Tests That Require Fixed or Open Policy Settings,"
in the bullet "Starting and Stopping MIDlets," com.sun.mt.push
should be com.sun.mt.start_stop in the six listed names.
Likewise, in the following bullet "Foreground and Background,"
com.sun.mt.push should be com.sun.mt.fg_bg_switch in
the three listed names.
The following high-severity bugs are known at the time of this release.
| BUG ID | DESCRIPTION |
|---|---|
| 6370822 | The Windows build fails when pathnames are too long, because of parameter length restrictions in Cygwin. |
| 6400182 |
CustomItem is drawn incorrectly in some cases.
|
| 6424101 |
On Linux platforms, some tests that use complex CustomItem
and media
might fail due to restricted media support for these platforms.
|
| 6443747 | In case of MVM, a complex sequence of foreground and input modes switches may cause installation functionality to become inaccessible from the AMS GUI. |
| 6521289 | Media events posted around virtual machine suspend and resume might be lost. Media subsytem might require proper plugging into suspend and resume framework. |
| 6523465 | Some tests for multiple messages recipients fail, exceeding receive timeout. |
| 6532810 | For WMA Push records, the allowed sender filter might work incorrectly for some sophisticated sender numbers. |
| 6535880 | An object drawn by means of SVG might sometimes have incorrect extent of transparency. |
| 6538189 | On Windows, some status icons might be missing from the indicator bar. |
| 6539790 |
Rarely, if a MIDlet is installed as a content handler (CHAPI), its
manual launch might fail with a NullPointerException.
|
| 6539823 |
If there are many command objects in a Canvas, menus
might be overlapped by the Canvas.
|
| 6543514 |
On Windows, one MMAPI test for StopTimeControl fails.
|
| 6544936 | On the Linux x86 platform, some tests for datagram data transfer might fail when launched in a batch mode. They pass when launched separately. |
| 6545755 | Two tests for server socket connection fail. |
| 6545758 | Two tests for socket connection methods do not pass. |
| 6545855 |
A StringItem content with hyperlink might be shown improperly.
|
| 6548519 | In some unusual cases on Linux x86, the scrollbar is not controlled properly from the keyboard. |
| 6548739 |
Compiling the system with gcc 4.1.2 results in many compiler warnings.
You might be able to build the system successfully by removing
-Werror from CFLAGS.
|
| 6549015 | A scrollbar on an alert may be damaged if a MIDlet with long alert shown is moved to the background and than back to the foreground. |
| 6557049 |
In Qt builds, TextField does not work correctly with
the PHONENUMBER constraint.
|
Copyright © 2007 Sun Microsystems, Inc. All rights reserved. SUN PROPRIETARY/CONFIDENTIAL.