# 从源码构建
尽管说明详尽,但从源码构建需要技术能力、网络条件和时间投入。
您可以尝试在 Android 上通过 Termux (opens new window) 进行构建,但不会提供相关支持。
建议在开始配置 JRE 前克隆 PojavLauncher 仓库
git clone https://github.com/PojavLauncherTeam/PojavLauncher
# 配置 JRE
若不想/无法自行构建,可从 CI 自动构建 (opens new window) 下载
源码地址:PojavLauncherTeam/android-openjdk-build-multiarch (opens new window)
# Android
- 克隆 PojavLauncherTeam/android-openjdk-build-multiarch 的 git 仓库
git clone https://github.com/PojavLauncherTeam/android-openjdk-build-multiarch
- 切换到克隆的仓库目录
cd android-openjdk-build-multiarch
- 从此处 (opens new window)下载 Android NDK r10e 并通过文件管理器放置于此目录(因 EULA 限制无法自动下载)
WARNING
请勿尝试使用新版或旧版 NDK 构建,否则会导致编译错误
# iOS
- 获取最新版 Xcode (opens new window)(已通过 Xcode 12 测试)
# 平台与架构特定的环境变量
| 平台 | 架构 | 编译目标 | 目标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 |
# 构建 JRE(Java 运行时环境)
- Android
- iOS
export BUILD_IOS=0
export BUILD_FREETYPE_VERSION=[2.10.4]
TIP
支持 2.6.2 至 2.10.4 之间的版本,但推荐使用 2.10.4
export JDK_DEBUG_LEVEL=[release]
TIP
支持 release、fastdebug 和 debug,但推荐使用 release
export JVM_VARIANTS=[client]
TIP
支持 client 和 server 变体,Client 适用于 aarch32 架构,server 适用于其他架构
(仅 Android)
./extractndk.sh
./maketoolchain.sh
# 获取 CUPS、Freetype 并构建 Freetype
./getlibs.sh
./buildlibs.sh
# 克隆 JDK(只需运行一次)
./clonejdk.sh
# 配置并构建 JDK
./buildjdk.sh
TIP
若未更改配置,可运行 sh makejdkwithoutconfigure.sh 替代
# 打包已构建的 JDK
./removejdkdebuginfo.sh
./tarjdk.sh
# LWJGL
- 即将推出
# 构建启动器
# 更新翻译
借助语言列表更新脚本,翻译更新变得更加便捷
运行以下命令即可自动从 Crowdin 更新
- Windows
- Linux/MacOS
scripts\languagelist_updater.bat
# 构建 GLFW 存根
- Windows
- Linux/MacOS
./gradlew :jre_lwjgl3glfw:build
# 构建启动器
- Windows
- Linux/MacOS
./gradlew.bat :app_pojavlauncher:assembleDebug