本页面由葡萄牙语机器翻译,可能存在错误。葡萄牙语版本为准。
平台与功能支持矩阵
CrossFly 是一个 Gradle 多模块项目:UI 和逻辑都位于 core(中立层),而每个
launcher(lwjgl3、android、ios、web)只负责操作系统的引导(bootstrap)。同一份 Java 代码可以
在这四个目标平台上运行。
平台检测
if (Device.platform.isDesktop()) { ... } // WINDOWS/LINUX/MACOS
if (Device.platform.isMobile()) { ... } // ANDROID/IPHONE/IPAD
if (Device.platform.isIOS()) { ... }
Platform:JAVA · WINDOWS · LINUX · IPHONE · ANDROID · IPAD · MACOS。
按功能划分的支持矩阵
| 功能 | 🖥️ 桌面端 | 🤖 Android | 🍎 iOS | 🌐 Web |
|---|---|---|---|---|
| 渲染 UI | ✅ | ✅ | ✅ | ✅ |
| 相机 / 条码 | ⚠️¹ | ✅ | ✅ | ❌ |
| GPS / 定位 | ❌ | ✅ | ✅ | ❌ |
| Bluetooth BLE | ⚠️ | ✅ | ✅ | ❌ |
| 生物识别 | ⚠️ | ✅ | ✅ | ❌ |
| 原生地图 | ✅ | ✅ | ✅ | ❌ |
WebContainer |
✅ | ✅ | ✅² | ❌³ |
| 振动 | ❌ | ✅ | ✅ | ❌ |
| 语音 (TTS/STT) | ⚠️ | ✅ | ✅ | ❌ |
| 文件持久化 | ✅ | ✅ | ✅ | ❌⁴ |
| HTTP | ✅ | ✅ | ✅ | ⚠️⁵ |
✅ 支持 · ⚠️ 有限制/因情况而异 · ❌ stub(不执行任何有用操作)
- 桌面端的相机因操作系统而异(例如:Mac ARM 可能返回
null)。 WKWebView的evaluateJavaScript受限(iOS)。createWebView()在 web 上返回null(Web)。Device.homeFolder在 web 上为null。- web 上的 HTTP 有限制(CORS、无 socket)——
Utils.getRemoteFile返回null。
**可移植性的黄金法则:**任何设备功能在某个目标平台上都可能不存在。使用前请先检查 (
Device.platform、createWebView() != null、返回值null)——参见 原生集成。
该读哪一页
| 目标 | 页面 |
|---|---|
| 🖥️ 快速迭代 | 桌面端 (LWJGL3) |
| 🤖 Android 手机 | Android |
| 🍎 iPhone/iPad | iOS (RoboVM) |
| 🌐 浏览器 | Web (TeaVM) |
| 将代码连接到操作系统 | 原生集成 |
| 打包与发布 | 构建与分发 |
这个页面有帮助吗?感谢你的反馈!