最近有朋友在公司做移动开发,想用 Swift 写个内部办公工具,顺手打包到安卓手机上试试——结果发现根本跑不起来。他问我:‘Swift 不是苹果新宠吗?怎么连安卓都搞不定?’
Swift 本身不支持安卓
直说吧:Swift 官方从未提供安卓平台的运行时、SDK 或编译目标。Xcode 默认只认 iOS、macOS、watchOS 和 tvOS。你写一段 Swift 代码,比如:
print("Hello, Office Team!")它能在 iPhone 上跑,在 Mac 的终端里也能跑,但扔进安卓 Studio?连编译器都找不到入口。
那有没有变通办法?
有人提过 Swift for TensorFlow 项目曾尝试跨平台编译,也有人用 SwiftNIO 做服务端逻辑再通过 API 供安卓调用——但注意:这不等于“Swift 跑在安卓上”,而是把 Swift 当后端语言用。真正的安卓 App 还得靠 Kotlin 或 Java 写界面和系统交互。
举个办公场景:你们部门用 Swift 开发了一套会议预约后台,接口返回 JSON;安卓同事用 Retrofit 调这个接口,页面用 Jetpack Compose 渲染——这才是现实中常见的协作方式,而不是硬让 Swift 直接生成 .apk。
别被“跨平台”字眼带偏
像 Flutter、React Native 这类框架之所以能一码双端,是因为它们自己封装了桥接层和渲染引擎。Swift 没干这事,它从出生起就深度绑定 LLVM 和 Darwin 系统调用,安卓的 ART 虚拟机和 Bionic C 库跟它八字不合。
所以,如果你正为行政部做个安卓考勤 App,别花时间查“Swift 编译安卓教程”了——真不如直接打开 Android Studio,敲几行 Kotlin 来得利索。