There are a number of mobile devices that use use some variant of the "Java Micro Edition" (Java ME) platform for their development environments.
The JavaME platform is barely a second cousin of modern Java SE/EE, and most modern Java libraries like Thrift aren't even conceivable on those devices due to lack of things like generics, modern collection classes, etc.
This basically means that some simple "vanilla" Java code can be used in both places, but it's better to consider JavaME as just a separate platform with a historic overlap rather than a "subset."
We've been using a JavaME profile of Thrift (CLDC 1.1) for a while on some of our own platforms, and are now making it available to some partners. I've cleaned up our code generator and JavaME libraries in this patch for (hopeful) inclusion into a Thrift release in the future.
t_javame_generator.cc based on the 0.4.0 Java generator with heavy modifications for the generated code to comply with the ME profile.
lib/javame - a runtime library for ME devices that is based on a fairly old version of the Java libraries (pre-incubation)
This patch does not modify the main Java generator at all ... this is a parallel project and runtime library.
These changes are too large to reasonably fold into the "Java" generator as an option (i.e. that would be a bit like trying to merge the C# and Java generators into one.) I realize that results in a bit of a fork.