J2ME Loader icon

J2ME Loader

by Nikita Shakarun · Apache-2.0 · open source

Free · Android 4.0+ · Console Emulators

Play the Java games of 2000s Nokia and Sony Ericsson phones on Android: J2ME Loader runs .jar games with a virtual keypad, per-game settings and scaling. You bring the games.

Needs:Android 4.0+ · your own .jar or .jad files

1 tracker in the code Signer matches F-Droid’s record

2113 Apps is independent, not affiliated with or endorsed by Nikita Shakarun. Official sources: source code on GitHub.

Download APK · 8.5 MB v1.8.2 · checked
Version
1.8.2
Size
8.5 MB
Requires
Android 4.0+
Updated
2024-08-12

Screenshots

J2ME Loader screenshot 1

Introduction

Before smartphones, most phone games were small Java programs, written for Java ME (also called J2ME or MIDP) and sold for Nokia, Sony Ericsson, Samsung and other phones. J2ME Loader runs them on Android. Its README: “J2ME-Loader is a J2ME emulator for Android. It supports most 2D and 3D games (including Mascot Capsule 3D ones). Emulator has a virtual keyboard, individual settings for each application, scaling support.” It turns each game’s Java code into Android code when you add it, and plays it with a virtual phone keypad on the screen.

Adding games

Tap + and pick a game file: .jar, or a .jad with its .jar, or .kjx from Japanese KDDI phones. Opening one of these files from a file manager or a browser works too; for a .jad web link, J2ME Loader downloads the game itself. Each game then gets its own settings, such as screen size, scaling, orientation, filtering and the keypad layout, and you can put a shortcut to a single game on your home screen.

To games, J2ME Loader presents itself as a Nokia phone. The README’s two tips for problem games: filtering can slow some games down, and the “Immediate processing mode” option fixes flickering.

Permissions

J2ME Loader declares 15 permissions because it implements the phone features Java games could use. Most are asked for only when a game uses them:

  • Camera and microphone, for games that take pictures or record sound.
  • Location, for games using the Java location API, and for Bluetooth on Android 11 and older.
  • Bluetooth (five permissions on Android 12 and later), for Bluetooth multiplayer.
  • Notifications on Android 13 and later, for games that post Nokia-style notifications.
  • Internet, for games that go online, for downloading a .jad link and for crash reports.
  • Vibration, home-screen shortcuts, and storage on older Android versions.

What goes online

J2ME Loader has no update checks, ads or analytics. It connects to the internet in three cases:

  • A .jad web link you open with the app: it downloads that file and then the game file the .jad names.
  • Games that use Java ME’s network functions connect wherever the game is written to, which depends on the game.
  • Crash reports, only after you tap Send in the crash dialog (see the questions above).

Crash reports go to Microsoft App Center through code the developer added on top of the ACRA library, which is why our scan lists ACRA. The app turns crash reporting on only for its official builds, which it recognises by their signing key; F-Droid’s key is on that list, so this build has it, and there is no setting to switch it off. If sending fails, the report is saved as crash.txt in J2ME Loader’s working folder.

About this file

  • This is F-Droid’s build of J2ME Loader 1.8.2, compiled from the developer’s source and signed with F-Droid’s key. The developer released 1.8.2 on 7 August 2024, without release notes; its changes, from the code history, fix home-screen shortcuts and a crash on the menu button. 1.8.0, a week earlier, added an option for the screen cutout area and fixed loading games on Android 14.
  • It is still the latest release. The project became active again in September and October 2026, with many changes from the JL-Mod developer, but so far only as automatic development builds.
  • J2ME Loader is also on Google Play, where it is free; the listing still mentions in-app purchases “for donations only”, which the code removed in July 2024. This build has no purchases, ads or donation screen.
  • The 8.5 MB file runs on Android 4.0 and later, on ARM and x86, 32- and 64-bit. Taking pictures from games needs Android 5.0.
  • The app is translated into Brazilian Portuguese, about four fifths of it.
  • The one screenshot shows a game’s settings screen, from the project’s store images; the others show commercial games, so we left them out.
  • J2ME Loader is licensed under the Apache-2.0. Inside are Nokia’s open-source 3D engine for Java games (M3G), under the Eclipse Public License 1.0, and parts of FFmpeg for old ringtone-format sound, under the LGPL. Three files for Nokia’s other 3D format carry an Apache-2.0 header with the same author as the matching files in FreeJ2ME, which are GPL-3.0; we found no record of why. The keypad font, Roboto-Regular.ttf, is in fact Google Sans 1.023, whose own licence field says: “Google offers many fonts on open source terms. Google Sans is not one of them.”

What’s inside the APK

Trackers

ACRA

Code from these SDKs is in the package. That shows it is bundled, not how it is used.

Native code

4 CPU types

Runs on 64-bit and older 32-bit ARM phones.

Android versions

Android 4.0 and up

Built for Android 14 (target API 34).

Permissions

15

9 of them need your approval first.

CPU types in this build: arm64-v8a (64-bit ARM, almost every phone since 2017); armeabi-v7a (32-bit ARM, older and budget phones); x86 (32-bit Intel, emulators); x86_64 (64-bit Intel, emulators and Chromebooks).

Asks you first (9)

Android shows a prompt before the app can use these.

  • Approximate location · ACCESS_COARSE_LOCATION
  • Precise location · ACCESS_FINE_LOCATION
  • Advertise to nearby Bluetooth devices · BLUETOOTH_ADVERTISE
  • Connect to paired Bluetooth devices · BLUETOOTH_CONNECT
  • Scan for Bluetooth devices · BLUETOOTH_SCAN
  • Use the camera · CAMERA
  • Show notifications (Android 13+) · POST_NOTIFICATIONS
  • Record audio with the microphone · RECORD_AUDIO
  • Write shared storage (Android 10 and older) · WRITE_EXTERNAL_STORAGE
Granted at install (4)

Low-risk permissions Android grants automatically, plus any we have not classified.

  • BLUETOOTH
  • BLUETOOTH_ADMIN
  • INTERNET
  • VIBRATE
Defined by other apps (2)

Permissions that belong to another app or to this app itself.

  • com.android.launcher.permission.INSTALL_SHORTCUT
  • ru.playsoftware.j2meloader.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

More Information

Package name
ru.playsoftware.j2meloader
Version
1.8.2 (build 101)
File size
8.5 MB (8,462,737 bytes)
Requires
Android 4.0 or later
License
Apache-2.0
Developer
Nikita Shakarun
Released
Aug 12, 2024
Signed by
F-Droid, which built this APK from the published source code. Because the key is F-Droid’s, it won’t install over a copy from Google Play or GitHub (or the other way round) without uninstalling first.
Signer SHA-256
e50809b534faee8d6d8a4eff20a298a5e51347a39d1d46413dc8b66e764661b4
File SHA-256
723133c8a3737e397b3257a9d05f95e7a6fb98db22c8e421138183c60eeb310c
Checked
, against the F-Droid index · how we check · verify it yourself

Common questions

Is this APK the official J2ME Loader release?

It is F-Droid’s build rather than the developer’s own: F-Droid compiled J2ME Loader 1.8.2 from the published source code and signed it with its own key. Its SHA-256 matches F-Droid’s signed index. Because the key is F-Droid’s, it won’t install over a copy from Google Play or GitHub without uninstalling first.

What Android version does J2ME Loader need?

Android 4.0 or later (API level 14). Version 1.8.2 is built for Android 14 (target API 34). Runs on 64-bit and older 32-bit ARM phones.

Can J2ME Loader access the internet?

Yes. The APK requests Android’s internet permission. In total it declares 15 permissions, and 9 of them need your approval first.

Does J2ME Loader contain trackers?

Yes. Version 1.8.2 contains code from ACRA, which matches an Exodus Privacy tracker signature. That shows the code is bundled, not how the app uses it.

Is J2ME Loader open source?

Its code is. The source code of J2ME Loader is released under the Apache-2.0 licence and published at https://github.com/nikita36078/J2ME-Loader. Its code is Apache-2.0, with Nokia’s 3D engine under EPL-1.0, but the font of its on-screen keypad, filed as Roboto, is Google Sans, which Google says it doesn’t offer on open-source terms.

Does it come with games?

No. J2ME Loader has no games, no game list and no download links inside. You add .jar, .jad or .kjx files you already have with the + button, or open a .jad web link with the app, which then downloads that game. Java ME needs no BIOS or firmware.

Does it send anything?

Data about you or your phone, only when it crashes and only if you agree: a dialog asks “Do you want to send error report to the developer?”, and Send posts the report to Microsoft App Center, with your phone model, Android version, language, screen size, an install ID, the error, about 100 lines of the app’s log and the game’s details. The app also connects when you open a .jad web link with it, to download that game, and games can go online themselves.

Can I update the Google Play or GitHub version with this file?

No. F-Droid, GitHub and Google Play each sign J2ME Loader with a different key under the same package name, so none can update another. To switch, back up your games and uninstall first.

J2ME Loader or JL-Mod?

JL-Mod is an unofficial fork by woesss, whose 3D engine for Mascot Capsule games is already part of J2ME Loader; most of the changes after 1.8.2 are his work too. JL-Mod uses its own package name, so the two install side by side, but its README warns that games and settings set up in one may not work correctly in the other.

Recent releases

Version Released Size Requires
v1.8.2 · this download Aug 12, 2024 8.5 MB Android 4.0+
v1.8.1 Aug 12, 2024 8.3 MB Android 4.0+
v1.8.0 Aug 6, 2024 8.7 MB Android 4.0+

Versions currently kept in the F-Droid repository. We host and check only the newest one.

Alternatives and related apps

  • Lemuroid Console Emulators·12.0 MB·v1.17.0 An emulator for classic consoles rather than phones, set up in a few taps.
    Download
  • RetroArch Console Emulators·30.9 MB·v1.22.2 Dozens of emulators in one app, for consoles, handhelds and arcade machines.
    Download