PojavLauncherTeam/android-openjdk-build-multiarch

Build and packaging script for building OpenJDK, used for PojavLauncher

269

stars

440

commits

C

primary language

May 11, 2025

updated

README

mobile-openjdk8-build-multiarch

Based on http://openjdk.java.net/projects/mobile/android.html

Building

Setup

Android

iOS

  • You should get latest Xcode (tested with Xcode 12).

Platform and architecture specific environment variables

Environment variables
Platform - ArchitectureTARGETTARGET_JDK
Android - armv8/aarch64aarch64-linux-androidaarch64
Android - armv7/aarch32arm-linux-androideabiarm
Android - x86/i686i686-linux-androidx86
Android - x86_64/amd64x86_64-linux-androidx86_64
iOS/iPadOS - armv8/aarch64aarch64-macos-iosaarch64

Run in this directory:

export BUILD_IOS=1 # only when targeting iOS, default is 0 (target Android)

export BUILD_FREETYPE_VERSION=[2.6.2/.../2.10.4] # default: 2.10.4
export JDK_DEBUG_LEVEL=[release/fastdebug/debug] # default: release
export JVM_VARIANTS=[client/server] # default: client (aarch32), server (other architectures)

# Setup NDK, run once (Android only)
./extractndk.sh
./maketoolchain.sh

# Get CUPS, Freetype and build Freetype
./getlibs.sh
./buildlibs.sh

# Clone JDK, run once
./clonejdk.sh

# Configure JDK and build, if no configuration is changed, run makejdkwithoutconfigure.sh instead
./buildjdk.sh

# Pack the built JDK
./removejdkdebuginfo.sh
./tarjdk.sh

Contributors

khanhduytran0

343 commits

artdeell

47 commits

Mathias-Boulay

15 commits

WesleyVanNeck

15 commits

PojavLauncherTeam/android-openjdk-build-multiarch

Build and packaging script for building OpenJDK, used for PojavLauncher

269

stars

440

commits

C

primary language

May 11, 2025

updated

README

mobile-openjdk8-build-multiarch

Based on http://openjdk.java.net/projects/mobile/android.html

Building

Setup

Android

iOS

  • You should get latest Xcode (tested with Xcode 12).

Platform and architecture specific environment variables

Environment variables
Platform - ArchitectureTARGETTARGET_JDK
Android - armv8/aarch64aarch64-linux-androidaarch64
Android - armv7/aarch32arm-linux-androideabiarm
Android - x86/i686i686-linux-androidx86
Android - x86_64/amd64x86_64-linux-androidx86_64
iOS/iPadOS - armv8/aarch64aarch64-macos-iosaarch64

Run in this directory:

export BUILD_IOS=1 # only when targeting iOS, default is 0 (target Android)

export BUILD_FREETYPE_VERSION=[2.6.2/.../2.10.4] # default: 2.10.4
export JDK_DEBUG_LEVEL=[release/fastdebug/debug] # default: release
export JVM_VARIANTS=[client/server] # default: client (aarch32), server (other architectures)

# Setup NDK, run once (Android only)
./extractndk.sh
./maketoolchain.sh

# Get CUPS, Freetype and build Freetype
./getlibs.sh
./buildlibs.sh

# Clone JDK, run once
./clonejdk.sh

# Configure JDK and build, if no configuration is changed, run makejdkwithoutconfigure.sh instead
./buildjdk.sh

# Pack the built JDK
./removejdkdebuginfo.sh
./tarjdk.sh

Contributors

khanhduytran0

343 commits

artdeell

47 commits

Mathias-Boulay

15 commits

WesleyVanNeck

15 commits

Languages

C

94.2%

Shell

5.8%