Files
awesome-awesomeness/html/j2me.md2.html
2025-07-18 23:13:11 +02:00

252 lines
12 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<h1 id="awesome-j2me-awesome">Awesome J2ME <a
href="https://awesome.re"><img src="https://awesome.re/badge.svg"
alt="Awesome" /></a></h1>
<p><a
href="https://www.oracle.com/java/technologies/javameoverview.html"><img src="j2me-logo.jpg" align="right" width="100"></a></p>
<blockquote>
<p>An awesome list about Java platform Micro edition<a
href="https://en.wikipedia.org/wiki/Java_Platform,_Micro_Edition">(J2ME)</a>.
Documentation, academic papers, tutorials, communities, IDEs, SDKs,
emulators, apps, video games. J2ME is a Java specification designed for
old keypad phones and PDAs. MIDP is used to create Midlets, which have
<code>.jad</code> or <code>.jar</code> extension, and run on platforms
like old keypad phones, Symbian and PDAs. MIDP is supported till Java ME
SDK 3.4.</p>
</blockquote>
<!--lint disable double-link-->
<p>Please give it a star(⭐) to raise awareness about J2ME community,
and support the development of this project. Read about history of
Awesome J2ME in
<a href="https://hstsethi.vercel.app/posts/programming/awesome-j2me">this
blog post</a>. Also check out <a
href="https://github.com/hstsethi/awesome-symbian">Awesome
Symbian</a>.</p>
<h2 id="contents">Contents</h2>
<ul>
<li><a href="#communities">Communities</a></li>
<li><a href="#development">Development</a>
<ul>
<li><a href="#ides">IDEs</a></li>
<li><a href="#sdks">SDKs</a></li>
</ul></li>
<li><a href="#emulators">Emulators</a></li>
<li><a href="#hardware">Hardware</a></li>
<li><a href="#native-software">Native Software</a>
<ul>
<li><a href="#apps">Apps</a></li>
<li><a href="#video-games">Video Games</a></li>
</ul></li>
<li><a href="#related-projects">Related Projects</a></li>
<li><a href="#reverse-engineering">Reverse Engineering</a>
<ul>
<li><a href="#decompilers">Decompilers</a></li>
</ul></li>
<li><a href="#tutorials">Tutorials</a>
<ul>
<li><a href="#academic-articles">Academic Articles</a></li>
</ul></li>
</ul>
<h2 id="communities">Communities</h2>
<ul>
<li><a href="https://retrospect.hackclub.com/j2me">HackClub Retrospect
J2ME</a> - J2ME development contest by Hackclub. Features Awesome J2ME
in its resources section.</li>
<li><a href="https://discord.gg/8TgbHAG">Kahvibreak Discord</a> -
Discord community focused on preserving J2ME games.</li>
<li><a href="https://keitaiwiki.com/wiki/KeitaiWiki">Ketai Wiki</a> -
Wiki dedicated to cataloging games from Japanese Feature Phones
(keitai), pre-Android/iPhone mobile devices released in Japan.</li>
<li><a href="https://reddit.com/r/j2megaming">r/J2MEGaming</a> - Reddit
community for J2ME, Symbian, and related platforms.</li>
</ul>
<h2 id="development">Development</h2>
<ul>
<li><a href="https://github.com/SimonKagstrom/cibyl">Cibyl</a> - Cibyl
is an environment to compile and run programs written in C, Objective-C,
C++ and possibly Fortran on J2ME phones.</li>
<li><a href="https://nikita36078.github.io/J2ME_Docs">J2ME Docs</a> -
Documentation for J2ME and some vendor-specific APIs.</li>
<li><a href="https://github.com/shinovon/NNJSON">NN JSON</a> - JSON
parser for CLDC 1.1.</li>
<li><a
href="https://github.com/gtrxAC/discord-j2me/tree/main/src/cc/nnproject/json">NN
JSON CLDC 1.0</a> - Modified version of NN JSON for CLDC 1.0.</li>
<li><a href="https://j2megamescript.sourceforge.net/">J2ME Game Script
Engine</a> - A lightweight script interpreter for building flexible J2ME
games, with a BASIC-like scripting language. Runs on J2SE/J2ME/Win C++
platforms; ideal for game rapid prototyping and customization.</li>
</ul>
<h3 id="ides">IDEs</h3>
<ul>
<li><a href="https://archive.eclipse.org/eclipse/downloads">Eclipse</a>
- Archive of all versions of Eclipse IDE.</li>
<li><a href="https://archive.org/download/netbeans-olds/6.1">NetBeans
6.1</a> - Mobility-pack, normal NetBeans and Java-ME SDK, all of them
are required to set up MIDP development environment.</li>
</ul>
<h3 id="sdks">SDKs</h3>
<ul>
<li><a
href="http://web.archive.org/web/20070210202710/http://www.extransit.com">Extra
Transit Mobile Interaction Suite</a> - IDE and SDK for J2ME specializing
in the development of internet-based applications.</li>
<li><a href="https://www.hecl.org">Hecl</a> - A mobile scripting
language based on Java, capable of running on J2ME-based devices.</li>
<li><a href="https://github.com/Enough-Software/j2mepolish">J2ME
Polish</a> - Open source, Ant-based build tool for J2ME that supports
building for multiple platforms including Blackberry and Symbian.</li>
<li><a
href="https://web.archive.org/web/20070314004015/http://innaworks.com/mBooster.html">MBooster</a>
- Optimizing suite for .jar files. Compresses images, audio, zip files,
and optimizes API calls.</li>
<li><a
href="https://web.archive.org/web/20061225061546/http://j2me-device-db.sourceforge.net/pmwiki/index.php?n=Main.HomePage">Micro
Code</a> - Cross-device development framework for J2ME. Supports more
than 100 devices.</li>
<li><a
href="https://archive.org/details/semc_java_me_cldc_sdk.2-5-0-6">Sony
Ericsson</a> - Supports various Sony Ericsson devices. Can run Mascot
capsule software too.</li>
<li><a href="https://dl.acm.org/doi/abs/10.1145/1462802.1462805">Soap
ME</a> - SOAP-compliant Web service container that supports dynamic
development.</li>
<li><a
href="https://www.oracle.com/java/technologies/javame-sdk/java-me-sdk-v30.html">Sun
Java Me SDK</a> <a
href="https://archive.org/details/sun_java_me_sdk-3_0-win">mirror</a> -
Successor to WTK that integrates CLDC/MIDP development.</li>
<li><a
href="https://www.oracle.com/java/technologies/java-archive-downloads-javame-downloads.html#sun_java_wireless_toolkit-2.5.2_01">Sun
WTK</a> - Official J2ME SDK by Sun.</li>
</ul>
<h2 id="emulators">Emulators</h2>
<ul>
<li><a href="https://github.com/hex007/freej2me">FreeJ2ME</a> - J2ME
emulator with LibRetro, AWT and SDL2 frontends.</li>
<li><a href="https://github.com/TASEmulators/freej2me-plus">FreeJ2ME
Plus</a> - Active fork of FreeJ2ME.</li>
<li><a href="https://github.com/nikita36078/J2ME-Loader">J2ME Loader</a>
- J2ME emulator for Android.</li>
<li><a href="https://github.com/woesss/JL-Mod">JL Mod</a> - Fork of J2ME
loader with Mascot capsule v3 support.</li>
<li><a href="https://github.com/szatkus/js2me">JS2 J2ME</a> - J2ME
emulator for Firefox OS.</li>
<li><a href="https://github.com/shinovon/KEmulator">KEmulator nnmod</a>
- Open source J2ME emulator in Java, based on KEmulator 1.0.3.</li>
<li><a href="https://sourceforge.net/projects/pspkvm/">PSPKvm</a> - J2ME
emulator for PSP.</li>
<li><a href="https://github.com/squirreljme/squirreljme">SquirrelJME</a>
- Java ME 8 Virtual Machine for embedded and Internet of Things
devices.</li>
</ul>
<h2 id="hardware">Hardware</h2>
<ul>
<li><a href="https://mobilephonemuseum.com/about">Mobile Phone
Museum</a> - Registered charity and museum for mobile phones. Currently
has over 2,800 models over 250 brands.</li>
</ul>
<h2 id="native-software">Native Software</h2>
<h3 id="apps">Apps</h3>
<ul>
<li><a href="https://github.com/gtrxAC/discord-j2me">Discord J2ME</a> -
Unofficial Discord client for J2ME. Utilizes a proxy server for HTTP and
gateway connections.</li>
<li><a href="https://github.com/baumschubser/hotpants/">Hotpants</a> -
HOTP/TOTP client.</li>
<li><a href="https://archive.org/details/j2me-emuSoftware">J2ME Emu
Software</a> - Executables, source code of various emulators that run on
J2ME.</li>
<li><a href="https://github.com/shinovon/JTube">Jtube</a> - YouTube
client based on Invidious API.</li>
<li><a href="http://arktos.se/meboy">MeBoy</a> - Supports emulating GBC
with sound, color, and save states.</li>
<li><a href="https://github.com/faissaloo/telegram-micro">Telegram
Micro</a> - Telegram client.</li>
<li><a href="https://github.com/VK4ME/client">VK4ME</a> - Unofficial
client for Russian social network VK for devices supporting CLDC 1.1 and
MIDP 2.0.</li>
</ul>
<h3 id="video-games">Video Games</h3>
<ul>
<li><a href="https://github.com/rgimad/gravity_defied_cpp">Gravity
Defied CPP</a> - C++, SDL2 port of J2ME game of the same name.</li>
<li><a href="https://bluemaxima.org/kahvibreak">Kahvibreak</a> -
Collection of J2ME games.</li>
<li><a href="https://www.mobygames.com/platform/j2me">Moby Games</a> -
Database of J2ME games with links to official stores.</li>
<li><a href="https://archive.org/details/96x65pixels_j2me">The “New”
J2ME software archive</a> - 74GB+, sorted collection of J2ME games.</li>
<li><a
href="https://gist.github.com/hstsethi/d4ef0c9f0710e5b713d1beb2ff93a1ce">Nowhere
Dialogues</a> - Dialogues from a Nowhere, a 2007 J2ME game, with
character names reverse engineered.</li>
</ul>
<h2 id="related-projects">Related Projects</h2>
<ul>
<li><a href="https://github.com/hstsethi/awesome-symbian">Awesome
Symbian</a> - An Awesome List about everything related to Symbian, a
discontinued mobile OS for ARM popular in the early 2000s. It supports
J2ME applications.</li>
<li><a
href="https://cellphonegamespreservation.miraheze.org/wiki/Main_Page">Cell
Phone Game Preservation Wiki</a> - Wiki dedicated to phone preservation,
including emulation and game dumps.</li>
<li><a href="https://j2me.fandom.com/wiki">J2ME Fandom</a> - Wiki of
everything related to J2ME.</li>
<li><a
href="https://github.com/j2me-preservation/j2me-preservation">J2ME
Preservation</a> - Archive of various J2ME software.</li>
</ul>
<h2 id="reverse-engineering">Reverse Engineering</h2>
<ul>
<li><a href="https://github.com/CakesTwix/pylng">PyLng</a> - HandyGames
.lng file parser written in Python.</li>
</ul>
<h3 id="decompilers">Decompilers</h3>
<ul>
<li><a href="https://github.com/fesh0r/fernflower">Fernflower</a> -
Analytical Java decompiler by JetBrains.</li>
<li><a href="https://java-decompiler.github.io">Jd Decompiler</a> - Java
decompiler with support for Java 5 and later.</li>
<li><a href="https://www.javadecompilers.com">Javadecompilers.com</a> -
Online Java decompiler that supports various decompilers.</li>
<li><a href="https://github.com/Col-E/Recaf">Recaf</a> - Bytecode editor
that supports multiple decompilers.</li>
<li><a href="https://github.com/vineflower/vineflower">Vineflower</a> -
Fork of Fernflower decompiler with improved output quality.</li>
</ul>
<h2 id="tutorials">Tutorials</h2>
<ul>
<li><a
href="https://www.oreilly.com/library/view/j2me-in-a/059600253X">J2ME In
Nutshell</a> - “Solid, no-nonsense reference to the alphabet soup of
micro edition programming, covering the CLDC, CDC, KVM and more.”</li>
<li><a href="https://github.com/domib97/revive.nokia.n95">Revive Nokia
N95</a> - A quick guide to revive the legacy Nokia N95 and develop for
it.</li>
</ul>
<h3 id="academic-articles">Academic Articles</h3>
<ul>
<li><a href="https://doi.org/10.1109/EmbeddedCom-ScalCom.2009.21">A
Testing Method for Java ME Software</a> - Reviews various unit testing
methods for J2ME and introduces a custom one for NetBeans.</li>
<li><a
href="https://ieeexplore.ieee.org/abstract/document/5341641">Automated
GUI Testing for J2ME Software Based on FSM</a> - Introduces a technique
for automating tests of LCDUI J2ME applications based on FSM.</li>
<li><a href="https://dl.acm.org/doi/abs/10.5555/507165">Developing Jini
applications using J2ME technology</a> - Book on Developing networking
applications using Jini and J2ME.</li>
<li><a
href="https://www.cs.sjsu.edu/faculty/pollett/masters/Semesters/Fall03/Rekha/CS297Report.pdf">Distributed
Gaming using J2ME and XML</a> - Writeup on creating a cross-platform
using Oracle XML database for gaming.</li>
<li><a
href="https://ieeexplore.ieee.org/abstract/document/4446557">Experiences
of Implementing BitTorrent on Java ME Platform</a> - Detailed writeup on
implementing BitTorrent client on Nokia S40. Includes methodology and
results.</li>
</ul>
<p><a href="https://github.com/hstsethi/awesome-j2me">j2me.md
Github</a></p>