# angelauramc-openjdk-build **This branch is for OpenJDK 8.** Based on [Java for Android](http://openjdk.java.net/projects/mobile/android.html) and [the PojavLauncher variant](https://github.com/PojavLauncherTeam/android-openjdk-build-multiarch) ## Building ### Setup #### Android - Download Android NDK r10e from https://developer.android.com/ndk/downloads/older_releases.html and place it in this directory (Can't automatically download because of EULA) - **Warning**: Do not attempt to build use newer or older NDK, it will lead to compilation errors. #### iOS - You should get latest Xcode (tested with Xcode 12). ### Platform and architecture specific environment variables
Environment variables
Platform - Architecture TARGET TARGET_JDK
Android - armv8/aarch64 aarch64-linux-android aarch64
Android - armv7/aarch32 arm-linux-androideabi arm
Android - x86/i686 i686-linux-android x86
Android - x86_64/amd64 x86_64-linux-android x86_64
iOS/iPadOS - armv8/aarch64 aarch64-macos-ios aarch64
### 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 ```