从零搭建 UIKit-cross-platform 开发环境:CMake、Ninja 与 Android Studio 配置完整清单

📅 2026/8/21 18:11:04
从零搭建 UIKit-cross-platform 开发环境:CMake、Ninja 与 Android Studio 配置完整清单
从零搭建 UIKit-cross-platform 开发环境CMake、Ninja 与 Android Studio 配置完整清单【免费下载链接】UIKit-cross-platformCross-platform Swift implementation of UIKit, mostly for Android项目地址: https://gitcode.com/gh_mirrors/ui/UIKit-cross-platformUIKit-cross-platform是一个用 Swift 实现的开源跨平台 UIKit 框架它的核心目标很纯粹让你用 iOS 的 UIKit API 写出的界面代码能在Android上以原生性能运行。它通过 SDL2 负责渲染与设备能力调用再用 CMake Ninja 把 Swift 源码编译成 Android 可加载的 native 库。本文是一份面向新手的完整清单手把手带你从零搭建 UIKit-cross-platform 开发环境从 CMake 与 Ninja 的安装到 Android Studio 的 SDK / NDK 配置一次讲清楚。 搭建前必读开发环境全貌清单在动手前先对整套工具链有个整体认知。UIKit-cross-platform 的构建链路大致如下Swift 源码位于Sources/目录是框架主体SDL2 SDL_gpu负责渲染与设备能力位于SDL/子模块CMake构建系统负责把 Swift 编译成共享库NinjaCMake 背后的实际构建执行器Android Studio NDKJava/Kotlin 侧通过 JNI 调用 Swift 编译出的 native 库依赖项推荐版本作用CMake≥ 3.16定义构建规则见 CMakeLists.txtNinja最新稳定版加速编译执行Android Studio最新稳定版运行 Android 工程Android SDKAPI 29示例工程用 35Android 编译所需NDK27.1.12297006生成 JNI native 库Swift Android 工具链随子模块获取交叉编译 Swift 到 Android⚙️ 第一步安装 CMake 与 Ninja 的最快方法CMake 和 Ninja 是整个构建的基石。在 macOS 上用 Homebrew 两条命令即可完成brew install cmake brew install ninja安装后验证版本cmake --version ninja --version确认 CMake 版本不低于 3.16 即可。如果使用 Linux 或 Windows可以从官方渠道下载预编译包注意把可执行文件加入 PATH。️ 第二步Android Studio 配置 SDK 与 NDK 完整步骤这是新手最容易卡住的地方请按顺序操作打开 Android Studio →PreferencesmacOS或Settings进入Appearance Behavior → System Settings → Android SDK在SDK Platforms标签页勾选安装 API Level 29 或更高版本在SDK Tools标签页勾选Android SDK Build Tools在同一标签页勾选NDK 27.1.12297006务必勾选Show Package Details才能看到全部版本点击Apply / OK开始下载安装安装完成后还需要把 NDK 路径固定下来方便后续构建脚本引用ln -vsi ~/Library/Android/sdk/ndk/27.1.12297006 /usr/local/ndk/27.1.12297006 提示不同机器 NDK 实际安装路径可能不同请以 Android Studio 中显示的 SDK 路径为准。 第三步获取 UIKit-cross-platform 源码与子模块克隆仓库并初始化所有子模块SDL 等依赖都以子模块形式存在这一步不可省略git clone https://gitcode.com/gh_mirrors/ui/UIKit-cross-platform cd UIKit-cross-platform git submodule update --init --recursive子模块初始化失败是新手常见报错请确保网络稳定后再执行。swift-android-toolchain/目录内容也会在这一步一并拉取。 第四步理解构建链路——CMake 与 Ninja 如何协作为什么需要 CMake Ninja 这套组合简单说CMake 负责规划Ninja 负责执行。CMake 读取 CMakeLists.txt 中的规则把Sources/下的 Swift 文件组织成UIKit动态库目标并链接JNI与SDL两个子项目Ninja 则根据 CMake 生成的构建描述文件以极快的速度并行完成编译。Swift 包层面的依赖关系则在 Package.swift 中声明Android 平台下会额外引入swift-jni与UIKit_C_API两个模块。整体调用关系可以这样理解Swift UI 代码 (Sources/) ↓ CMake Ninja 编译 native 共享库 (.so) ↓ JNI (Java Native Interface) Android 端 Java/Kotlin (src/main/java/) 第五步运行内置 DemoApp 验证环境环境配置是否成功跑一遍官方示例最直观。项目自带的 DemoApp 位于 samples/getting-started/一套代码可跑三个平台macOS / iOS 平台用 Xcode 打开 DemoApp.xcodeproj分别选择DemoAppiOS或DemoAppMacMactarget 运行即可。Android 平台用 Android Studio 打开 samples/getting-started/android 目录连接一台 Android 真机或创建模拟器点击Run按钮Android 侧的关键配置在 android/app/build.gradle 中preBuild任务会先调用buildSwiftArm64通过swift-android-toolchain/swiftpm.sh脚本用 SwiftPM 交叉编译出 arm64-v8a 架构的.so库再经 CMake 完成最终集成。️ 第六步为自己的 iOS 项目接入 UIKit-cross-platform想把自己的 iOS 项目跑在 Android 上官方提供了自动化脚本 create-android-project./UIKit/create-android-project脚本会读取你 iOS 工程中的PRODUCT_BUNDLE_IDENTIFIER自动生成android/目录、CMakeLists.txt与androidMain.swift。在此之前需要先按 docs/PREPARE_IOS_PROJECT.md 调整工程删除 storyboard、改写AppDelegate.swift并新增main.swift入口。 第七步常见问题排查清单报错externalNativeBuildDebug FAILED或ninja: error: ... missing and no known rule to make it这是经典的新手问题通常由 Swift 文件变更后 CMake 缓存未刷新导致。解决办法打开 Android Studio菜单Build → Refresh Linked C Projects重新Rebuild Project详细说明可参考 docs/FAQs.md。NDK 版本不匹配请严格使用 NDK 27.1.12297006并确认/usr/local/ndk/27.1.12297006符号链接正确指向实际安装目录。子模块拉取失败执行git submodule update --init --recursive时若报错先检查网络再尝试重新执行该命令。✅ 结语一条命令验证你的开发环境最后用这条命令快速确认核心组件就绪cmake --version ninja --version java -version至此CMake、Ninja 与 Android Studio 三件套全部配置完成UIKit-cross-platform 开发环境搭建完毕。接下来你就可以开始体验一份 Swift UIKit 代码iOS 与 Android 双端运行的乐趣了。【免费下载链接】UIKit-cross-platformCross-platform Swift implementation of UIKit, mostly for Android项目地址: https://gitcode.com/gh_mirrors/ui/UIKit-cross-platform创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考