Backport to Android 4.4 (4.1?), based on android4 branch
openjdk backport here
you may need to copy .minecraft
folder from actual pojav installation to /sdcard/games/PojavLauncher
to get this working
todo:
- debug version list?
- debug ms login webview; resolve ssl error?
- caciocavallo
- We do not exist on TikTok. No one from the dev team makes TikTok videos.
- The official Twitter for PojavLauncher is @PLaunchTeam. Any others (most notably @PojavLauncher) are fake, please report them to Twitter's moderation team.
- Introduction
- Building
- Current status
- License
- Contributing
- Credits & Third party components and their licenses
PojavLauncher is a Minecraft: Java Edition launcher for Android and iOS based on Boardwalk. This launcher can launch almost all available Minecraft versions (from rd-132211 to 21w08b (1.17) snapshot, including Combat Test versions). Modding via Forge and Fabric are also supported. This repository contains source code for Android. For iOS/iPadOS, check out PojavLauncher_iOS.
To get started, you can just get prebuilt app from stable release or automatic builds. If you want to build after launcher code changes, follow steps below.
Will be moved to BUILDING.md
- JRE for Android is here, also the build script here.
- Follow build instruction on build script README.md.
- You can also get CI auto builds.
- Either get
jre8-pojav
artifact from auto builds, or do splitting by yourself:
- Get JREs for all of 4 supported architectures (arm, arm64, x86, x86_64)
- Split JRE into parts:
Platform-independent: .jar files, libraries, configs, etc...
Platform-dependent: .so files, etc...
- Create:
file nameduniversal.tar.xz
with all platform-independent files
4 files namedbin-<arch>.tar.xz
with all platform-dependent files per-architecture
- Put these inassets/components/jre/
folder
- (If needed) update the Version file with the current date
- Coming soon
- Because languages are auto added by Crowdin, so need to run language list generator before building. In this directory, run:
# On Linux, Mac OS:
chmod +x scripts/languagelist_updater.sh
bash scripts/languagelist_updater.sh
# On Windows:
scripts\languagelist_updater.bat
- Then, run these commands
build use Android Studio.
# Build GLFW stub
./gradlew :jre_lwjgl3glfw:build
# mkdir app_pojavlauncher/src/main/assets/components/internal_libs
rm app_pojavlauncher/src/main/assets/components/lwjgl3/lwjgl-glfw-classes.jar
cp jre_lwjgl3glfw/build/libs/jre_lwjgl3glfw-3.2.3.jar app_pojavlauncher/src/main/assets/components/lwjgl3/lwjgl-glfw-classes.jar
# Build the launcher
./gradlew :app_pojavlauncher:assembleDebug
(Replace gradlew
to gradlew.bat
if you are building on Windows).
-
OpenJDK 9 Mobile port: ARM32, ARM64, x86, x86_64.Replaced by JRE8. - OpenJDK 8 Mobile port: ARM32, ARM64, x86, x86_64
- Mod installer headless
- Mod installer with GUI. Used
Caciocavallo
project for AWT without X11. - OpenGL in OpenJDK environment
- OpenAL (work on most devices)
- Support Minecraft 1.12.2 and below. Used lwjglx, a LWJGL2 compatibility layer for LWJGL3.
- Support Minecraft 1.13 and above. Used GLFW stub.
- Game surface zooming.
- New input pipe rewritten to native code to boost performance.
- More...
- Minecraft
21w10a
or newer are currently not yet supported due to the new GLSL usage. - In 1.16 and up spawn eggs banners are white (you can fix this by switching renderer
to
gl4es 1.1.5
, only works on 1.16 and up, do not use under this version) - Controller mods aren't working
- Random crashes could happen very often on Android 5.x during game load or join world.
- With big modpacks textures could be messed up
- If you're using gl4es 1.1.5 on 1.16 and lower texture will bug out when hit a mob
- probably more, that's why we have a bug tracker ;)
- PojavLauncher is licensed under GNU GPLv3.
Contributions are welcome! We welcome any type of contribution, not only code. Any code change should be submitted as a pull request. The description should explain what the code does and give steps to execute it.
- Boardwalk (JVM Launcher): Unknown License/Apache License 2.0 or GNU GPLv2.
- Android Support Libraries: Apache License 2.0.
- GL4ES: MIT License.
- OpenJDK: GNU GPLv2 License.
- LWJGL3: BSD-3 License.
- LWJGLX (LWJGL2 API compatibility layer for LWJGL3): unknown license.
- pro-grade (Java sandboxing security manager): Apache License 2.0.
- xHook (Used for exit code trapping): MIT and BSD-style licenses