如何解决Android Studio中Compose Multiplatform桌面构建的‘jpackage缺失’错误?
解决Compose Multiplatform桌面构建时jpackage缺失的问题
核心原因
jpackage 是Java 16及以后版本正式纳入JDK的工具,用于生成自包含应用包。出现这个错误要么是你用的JDK版本低于16,要么是JDK安装包是精简版(缺失jpackage),或者Android Studio没配置使用正确的JDK。
分步解决
1. 检查当前JDK版本
打开终端(Android Studio的Terminal面板也可以),执行:
java -version
确认输出的版本号是16或更高。如果低于16,必须升级JDK。
2. 安装完整的JDK 16+
如果当前JDK版本不够,或者是精简版(bin目录里找不到jpackage),下载完整版本的JDK:
- 选择Adoptium Temurin、Oracle JDK或者OpenJDK的官方完整包,不要用精简/定制版(比如某些仅用于Android开发的JDK裁剪版)
- 安装后记住JDK的安装路径
3. 配置Android Studio使用目标JDK
- 打开Android Studio,依次进入
File > Project Structure > SDK Location - 在
JDK location处,选择你刚安装的JDK 16+的路径 - 或者直接在项目根目录的
gradle.properties文件中添加一行,指定JDK路径:
替换成实际的JDK安装路径。org.gradle.java.home=/path/to/your/jdk16+
4. 验证jpackage是否可用
在终端执行:
jpackage --version
如果能正常输出版本号,说明工具已被正确识别。如果还是找不到,检查系统PATH环境变量是否包含JDK的bin目录:
- Windows:把JDK/bin路径添加到系统PATH中
- Mac/Linux:在shell配置文件(/.bashrc或/.zshrc)中添加
export PATH=/path/to/jdk/bin:$PATH,然后执行source ~/.bashrc(对应你的配置文件)生效。
5. 重新执行构建任务
回到Android Studio,运行桌面分发构建任务:
- 可以在Gradle面板中找到
Tasks > desktop > packageDesktop双击执行 - 或者在Terminal中执行:
./gradlew packageDesktop
内容的提问来源于stack exchange,提问作者Shubham Mogarkar
相关产品推荐
相关产品推荐

