在WSL Ubuntu 20.04 LTS上编译Gluon Android应用失败求助
针对你在WSL Ubuntu 20.04 LTS环境下使用GluonFX Maven插件编译Android APK时遇到的process compile-additional-sources failed with result: 2错误,以下是可能的问题原因及排查方向:
NDK版本兼容性不匹配
当前使用的android-ndk-r25b可能与gluonfx-maven-plugin:1.0.16存在兼容性问题。部分GluonFX版本对NDK版本有严格要求,过高版本的NDK会导致编译工具链调用异常。建议降级NDK到官方推荐的稳定版本(如r24b),并重新设置ANDROID_NDK_ROOT环境变量指向新的NDK路径。WSL跨磁盘文件系统问题
项目位于Windows挂载的/mnt/d目录下,WSL对NTFS文件系统的读写支持存在权限和性能限制,可能导致编译过程中文件操作失败。将项目迁移到WSL内部文件系统(如~/projects/),并确保项目目录及文件的权限正确(避免用root用户执行Maven,确保当前用户拥有读写权限)。GraalVM与插件版本不兼容
当前使用的graalvm-svm-java11-linux-gluon-22.1.0.1-Final与gluonfx-maven-plugin:1.0.16版本可能不匹配。检查插件官方说明中对应的GraalVM版本要求,尝试升级插件到最新稳定版,或调整GraalVM版本至插件兼容的版本。关键编译日志未查看
报错提示的目标日志文件(/mnt/d/Epicstats/GluonMavenLinux/target/gluonfx/aarch64-android/gvm/log下的相关日志,尤其是process-compile-additional-sources-1670328330610.log)包含具体的编译失败细节,比如头文件缺失、依赖库找不到、编译参数错误等。必须查看该日志才能准确定位问题,比如是否是Android API级别配置错误,或缺少必要的Android平台组件。环境变量配置异常
确保以下环境变量在WSL中正确配置并生效:JAVA_HOME指向GraalVM Gluon的安装路径ANDROID_NDK_ROOT正确指向NDK目录PATH包含NDK toolchain的路径(如$ANDROID_NDK_ROOT/toolchains/llvm/prebuilt/linux-x86_64/bin)
可通过echo $JAVA_HOME、echo $ANDROID_NDK_ROOT等命令验证配置是否正确。
Maven插件配置错误
检查pom.xml中GluonFX插件的配置:- 确认Android目标API级别与NDK兼容(比如
<target>31</target>) - 确认架构配置正确(当前编译aarch64,是否需要调整或添加其他架构)
- 确保插件的Android相关参数符合官方文档要求
- 确认Android目标API级别与NDK兼容(比如
内容的提问来源于stack exchange,提问作者Joseph Pamba

