You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在LibGDX项目core模块中使用java.util.stream.Stream

LibGDX core模块启用java.util.stream支持的配置方案

问题核心

core模块当前编译兼容版本为Java 1.7,既无法在编译阶段识别Java 8引入的Stream API语法,也无法生成供各平台共享的对应字节码。即便Android模块单独开启了脱糖适配,core模块自身的代码编译就会直接报错,无法正常调用。

具体修改操作

  • 调整core模块的Gradle编译配置
    将core模块build.gradle中原有的Java 1.7兼容配置,替换为Java 8版本的兼容设置,修改后的完整基础配置如下:
    sourceCompatibility = JavaVersion.VERSION_1_8
    targetCompatibility = JavaVersion.VERSION_1_8
    [compileJava, compileTestJava]*.options*.encoding = 'UTF-8'
    sourceSets.main.java.srcDirs = [ "src/" ]
    eclipse.project.name = appName + "-core"
    
  • 各平台适配校验
    • Android端:现有配置已开启coreLibraryDesugaringEnabled并引入对应脱糖依赖,只要core模块输出的字节码版本锁定为1.8,脱糖工具会自动完成Stream API的调用适配,不需要额外调整Android模块的现有配置。
    • 桌面端:只要运行游戏的桌面JRE版本不低于Java 8,即可原生支持Stream API,无需额外适配处理。

避坑提示

  • 不要将core模块的编译兼容版本设置为Java 8以上的版本,过高的字节码版本会导致Android端的脱糖工具无法正常解析,引发打包阶段的报错。
  • 改完Gradle配置后记得同步项目,将IDE对应core模块的语言级别调整为Java 8,避免出现IDE层面的语法误报。
  • 如果在低版本Android系统运行时出现Stream相关的类加载报错,仅需升级Android模块中coreLibraryDesugaring的依赖版本至支持全量java.util.stream API的版本即可,不需要改动core模块的基础配置。

内容的提问来源于stack exchange,提问作者user123546863

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.26 16:36:04