Delphi 12社区版免费:四端跨平台开发环境配置实战
Delphi 12社区版免费的消息放在Delphi圈子里分量不亚于当年其他IDE社区版火起来的时候。作为从Delphi 7一路用到12的老用户我其实见惯了“商业工具先看预算”的节奏但这次Embarcadero把社区版放出来之后跨平台这条线是真的铺开了一份Delphi代码能同时产出Windows、macOS、Android和iOS四个平台的程序底层是FMXFireMonkey这套跨端UI框架不是Web套壳也不是各写一套。这篇文章就是一份完整的“手把手”记录从账号注册、IDE安装到四端工具链配置、首次编译跑通再到我踩过的那些坑。适合刚接触Delphi的独立开发者、学生以及想从Win32老项目转跨平台的小团队参考。1. 先搞清楚Delphi 12社区版到底“免费”了什么1.1 社区版不是“残废版”而是有门槛的正式授权很多朋友一听到“社区版”就联想到各种被砍功能的体验版但Delphi的社区版定位不太一样。它是Embarcadero官方推出的、针对特定人群的免费授权版本IDE主体、编译器、FMX框架这些核心链路都是完整开放的不是那种编译几次就强制退出的试用版。不过它确实有门槛而且是写在许可条款里的只面向个人开发者、学生、教师以及规模非常小有明确人数和收入上限的团队。拿我自己举例我平时做一些工具类小软件和外包练手项目个人年收入远低于门槛所以用社区版完全没有问题。如果你是在业务稳定的公司里做商业项目或者团队人数已经超过限制那还是需要认真评估商业版授权别给自己留隐患。社区版在功能上和商业版最大的差异集中在几个方面第三方高等级组件包缺失、部分企业级数据库驱动受限、IDE扩展插件需要手动确认兼容性以及官方技术支持级别不同。但对绝大多数个人项目、课程设计、内部工具和原型验证来说这些限制几乎感觉不到。尤其这次题目里提到的Windows/macOS/Android/iOS四端跨平台编译能力社区版是实打实开放的。1.2 安装之前先把这几件事准备好磨刀不误砍柴工。Delphi 12的安装过程不算复杂但有几个前置条件不准备好后面会反复折腾。第一是注册一个Embarcadero账号。这个账号贯穿整个使用周期安装激活、IDE内登录、许可证刷新都靠它。注册时建议用常用邮箱因为许可证绑定邮箱和账号换邮箱意味着要重新走一遍激活流程。第二是磁盘空间。我实测完整安装包含Windows 64位、Android SDK相关组件大概需要15到20GB后续如果配置多个平台的工具链还会再增加。建议至少预留25GB可用空间安装盘最好是SSD因为Delphi在首次扫描组件和加载SDK时对磁盘性能比较敏感。第三是网络环境。IDE安装完成后第一次启动会尝试连接官方服务器同步许可和平台组件所以最好在网络稳定、能正常访问国外服务的情况下操作。如果你所在的环境访问慢可以先配置好代理或者错峰操作这个后面在常见问题里会细说。第四是统一规划好安装路径。Delphi对安装路径中的中文和空格比较挑剔我建议直接使用默认路径或者你自己指定一个纯英文、无空格的目录。这样做是为了避免后面Android NDK、PAServer等工具链在路径解析时出幺蛾子。2. Windows上先把环境跑通下载、安装与首次编译2.1 完整安装流程与组件选择打开Embarcadero官网找到“Delphi Community Edition”下载页填好注册信息后会收到包含下载链接的邮件。下载回来是一个安装引导程序双击运行后选择安装Delphi 12。这里有一个关键选择组件勾选。社区版默认会安装Windows 64位编译器和Win32编译器但跨平台相关的组件需要自己确认。我建议在这一步按需勾选“Android SDK”“Android NDK”等选项。虽然也可以通过IDE里的SDK Manager事后补装但第一步就装好会让你后面的体验顺畅很多。macOS和iOS的组件在Windows上不会直接安装它们依赖后续在Mac上配置PAServer这个我放到下一节讲。安装过程需要几分钟到十几分钟不等期间不要强制关闭安装程序。安装完成后第一次启动IDE会要求登录Embarcadero账号并激活社区版许可证。这一步如果提示失败先检查网络再确认账号是否已经在官网完成过实名和许可确认。2.2 创建第一个FMX跨平台项目并编译Windows版激活成功后进入IDE的第一步建议不是急着写代码而是新建一个“Multi-Device Application”项目。这是FMX框架的项目类型也是后面所有平台共用的容器。操作路径是File - New - Other - Delphi Projects - Multi-Device Application。模板向导里会让选择UI形态常见的是Blank Application。如果你喜欢带一点初始控件也可以选3D或Tabbed模板但作为环境验证Blank最稳。创建完成后左侧Project Manager面板里会有一个“Target Platforms”节点默认只有Windows 64-bit。右键这个节点选择“Add Platform”可以看到Windows 32-bit、OS X 64-bit、Android、iOS等选项。这些就是我们要陆续配置的目标。第一步先验证Windows端能不能跑通。在代码编辑器里往Form上拖一个TButton和TLabel在Button的OnClick事件里写一句Label1.Text : Hello from Delphi 12;然后直接按F9编译运行。如果一切正常一个原生窗口会弹出来点击按钮后文本变化。这个Demo虽然简单但价值很大它证明IDE、编译器、FMX运行时在Windows这一侧是完全健康的。后面所有跨平台编译都是在这个项目基础上加平台、验证工具链所以Windows这步一定不要跳过。3. 打通macOS为什么必须有一个Mac做远程编译3.1 PAServer的工作逻辑有朋友第一次接触跨平台时会有疑问Delphi在Windows上明明能编译Windows程序为什么编译macOS就不能直接在Windows上完成这里跟苹果平台的策略有关系。Xcode工具链只能运行在macOS上而Delphi生成macOS/iOS最终产物时需要调用苹果官方的编译和链接工具。所以Embarcadero的方案是Windows上的IDE负责写代码和管理工程真正在Mac上做“最后一段编译”的是一个叫PAServerPlatform Assistant Server的辅助程序。在Windows上装了Delphi以后安装目录下会有一个PAServer文件夹里面包含PAServer的压缩包。你需要把这个压缩包拷贝到Mac上解压然后在Mac上运行PAServer它会监听一个默认端口通常是64211。Windows端的IDE通过配置好的“Connection Profile”连接到这台Mac之后你每次选择macOS或iOS作为编译目标时IDE就会把中间产物发送到Mac由Mac上的工具链完成最终编译再把可执行文件或App包传回Windows。我把这比喻成“厨房和灶台的关系”。Windows是配菜和备料的厨房Mac是真正的灶台。菜谱和食材都在Windows这边准备好但最后的火候和出锅动作必须由灶台完成。所以想在Delphi里做macOS或iOS开发一台能跑Xcode的Mac是绕不开的硬件门槛。3.2 在Mac上配置PAServer并连接Windows IDE在Windows的Delphi安装目录里找到PAServer.zip比如默认路径下有C:\Program Files (x86)\Embarcadero\Studio\24.0\PAServer\PAServer.zip。把这个压缩包通过U盘、网盘或局域网共享拷贝到Mac上。在Mac上解压后打开终端进到解压目录直接运行./PAServer-24.0第一次运行会要求设置一个访问密码这个密码是Windows IDE连接Mac时用来认证的建议设置成强密码。PAServer启动后会把本机IP和端口打印在界面上默认端口是64211。如果Mac开了防火墙记得允许PAServer接入网络。回到Windows的Delphi IDE里路径是Tools - Options - Platform Assistant - Add Connection Profile。填上Mac的IP、端口号和刚才设置的密码保存后点击Test Connection看到连接成功的提示就说明通道已经建好。这一步常见的坑有两个一是Windows和Mac不在同一个局域网或者中间有严格防火墙策略导致64211端口不可达二是Mac上的IP是动态获取的今天能连明天又连不上。我的建议是给Mac配置固定IP或者在路由器上绑定DHCP静态分配然后把这个IP固定写在Delphi的连接配置里。3.3 macOS目标平台的首个编译与签名问题连接成功后在Project Manager里给项目添加“OS X 64-bit”平台。双击这个目标节点Delphi会在后台自动检测Mac上的Xcode SDK版本并把需要的macOS运行环境库同步过来。如果Mac上还没有安装Xcode Command Line ToolsPAServer会提示你安装这一步建议直接在Mac终端执行xcode-select --install一切就绪后把刚才的Windows平台切到OS X 64-bit再次按F9。Delphi这次会把项目打包发送到Mac远程编译再把结果传回来启动运行。如果你看到一个原生macOS窗口启动了并且点击按钮后Label文字正常变化那你的真机环境已经覆盖了macOS这一侧。这里要特别提醒一下签名问题。Delphi在本地开发调试时默认会使用“Sign to run locally”模式也就是只做本机运行签名。如果你后续想把App分发到其他Mac上或者要上架App Store就需要在Project Options里配置Developer ID证书和Apple开发者账号这个流程跟Xcode里配置证书是一样的逻辑不展开讲但需要知道入口在哪里。4. 移动端配置Android与iOS的重点和顺序4.1 AndroidJDK、SDK、NDK的版本匹配Android是移动端里配置相对省心的一个因为Delphi的SDK Manager能帮你下载大部分组件。但版本匹配这件事我劝你一定不要乱改默认值。在IDE里打开Tools - Manage Platforms选择Android。Delphi 12通常倾向使用较新的Android API Level和对应版本的NDK。这里最重要的一条经验是如果IDE已经下载并配好了一套默认的JDK、SDK和NDK就不要手动替换成自己电脑上安装的其他版本。跨平台编译器对工具链版本非常敏感我用过多个Delphi版本凡是Android编译报错最后查下来十有八九都是NDK版本和编译器预期不一致。如果你需要手动指定路径建议按这样的结构去准备JDK用11或17版本Android SDK放在一个纯英文短路径下NDK选择IDE提示的推荐版本。路径里尽量不要有空格也不要放在权限受限的目录比如“C:\Program Files”下面否则在编译过程中会遇到莫名其妙的写入权限错误。配置完Android平台后同样把Target Platforms里加上Android然后选一个Android模拟器或者在真机上开启USB调试按F9部署运行。首次Android编译会比Windows慢不少因为要打包APK并传送到设备或模拟器耐心等就行。4.2 iOS证书、描述文件与PAServer联动iOS是四个平台里步骤最繁琐的因为它对签名和证书的检查最严格。你得有Apple ID理想情况下还要有一个Apple Developer账号。免费Apple ID也能做本地调试和模拟器运行但如果要装到真机上建议还是有个开发者账号不然每七天要重新签名一次非常折磨。在Delphi里配置iOS证书的路径是Project Options - Provisioning。这里需要填入证书文件.cer或.p12、私钥和描述文件.mobileprovision。这些文件一般从Apple开发者后台生成也可以用Xcode帮你生成。说白了Delphi没有绕过苹果的签名体系它只是把你在Xcode里会做的证书配置搬到了IDE的配置面板里。iOS编译同样依赖PAServer。你在Project Manager里添加iOS Device或iOS Simulator平台后IDE会通过PAServer调用Mac上的Xcode工具链完成编译。iOS Simulator平台适合快速验证界面逻辑不用真机iOS Device平台则生成可以在手机上安装的运行包用于真机调试。我踩过最大的坑是证书类型选错。调试阶段要用Development证书打商店包要用Distribution证书。有一次我图方便直接用了Distribution证书做调试结果设备安装后闪退排查了很久才发现是签名类型的问题。所以配置证书时一定核对清楚当前阶段选的是哪一类。4.3 建议的编译顺序和一次跑通四平台的思路四个平台都配置好之后我强烈建议你按照“Windows - Android - macOS - iOS”这个顺序来跑通全部目标每跑通一个再进下一个。这背后的逻辑是难度递进Windows环境最可控能最快暴露代码或框架问题Android相对接近Linux生态能帮你快速发现文件系统、权限这类问题macOS涉及远程PAServer要先确认前面的远程连接是好的iOS还要叠加证书签名所以放在最后处理。实际操作中我一般会在Project Manager里把项目切到对应目标平台然后按F9编译运行全部目标都跑一遍后再统一处理报错。注意每切换一次平台IDE都会做一次相关工具链的检查所以第一次切换平台时等待时间会稍长这是正常现象不用急着强行操作。现在我的Demo项目已经能在Windows和Android上跑macOS和iOS也在远程环境下编译通过。虽然项目本身还是那个点按钮改文本的小例子但它证明了环境是完整的等于你的跨平台开发基建已经就位后面不管是继续在这个项目上加功能还是新建真正的业务项目都不会再被环境卡脖子。5. 跨平台代码的“脏坑”与常见问题排查5.1 平时写代码最容易踩的跨平台坑环境搭好只是万里长征第一步跨平台项目真正让人难受的不是启动而是代码跑起来后的各种平台差异。这里有三个坑我几乎每个项目都会遇到。第一个是文件路径分隔符。Windows用反斜杠“\”macOS和Android用正斜杠“/”。如果在代码里硬编码路径Windows下写data\config.txt到Android上就找不到文件。解决办法是不要手工拼路径统一用System.IOUtils里的TPath.Combine或IncludeTrailingPathDelimiter来处理。标准库会按当前系统自动选择正确的分隔符。第二个是文件名大小写敏感。Windows文件系统默认不区分大小写但Android底层是Linux内核文件系统对大小写敏感。这意味着你在Windows上写ReadFile(Data.txt)如果实际文件名是data.txt在Windows上可能正常到了Android就报文件不存在。所以跨平台项目里文件名、资源名、图片名的字符大小写要从一开始就养成统一风格。第三个是文本编码。Delphi 12默认对字符串的处理已经向UTF-8靠拢但老的第三方库或者自己早期写的代码里可能还是用ANSI编码在读写文本。到了macOS和Linux系平台ANSI编码的默认代码页和Windows不同就会出现“汉字读出来是乱码”的经典问题。处理文本文件时写和读都要指定编码比如用TEncoding.UTF8不要依赖系统默认。5.2 常见问题速查表我把这段时间被问得最多的、以及我自己踩过的环境类问题整理成了一张速查表方便你遇到问题时快速定位。现象常见原因处理办法安装后IDE提示许可证未激活网络不通或账号未登录确认能访问官方服务器在IDE里重新登录账号刷新许可证Android编译提示找不到SDK或NDKSDK路径配置错误或未安装组件Tools - Manage Platforms 里重新安装并指定纯英文路径编译iOS提示无法连接PAServer防火墙拦截、端口不通、IP变化检查64211端口连通性给Mac配置固定IP重置Connection ProfilemacOS目标平台不出现在列表里缺少macOS SDK或Xcode工具链在Mac上执行xcode-select --install通过PAServer同步SDKiOS真机安装后闪退证书类型与当前阶段不匹配调试用Development证书商店发布用Distribution证书同一段代码Windows正常、Android报错路径分隔符、大小写或编码不统一统一使用System.IOUtils的路径方法资源文件命名规范Android编译过程很慢首次同步或NDK检测耗时第二次编译会快很多后续可用增量编译5.3 排查环境问题的方法论环境类问题最怕瞎猜。我给自己定过一条排查铁律从最底层向最上层逐层验证。具体来说就是先确认“这一层平台能不能独立工作”再谈Delphi和它的联动。比如iOS编译失败不要第一时间怀疑Delphi配置。先在Mac上用Xcode新建一个空iOS项目直接跑一遍真机或模拟器。如果Xcode本身都跑不通问题在Mac的开发环境Delphi这边折腾再多也没用。反过来如果Xcode能跑通再回看Delphi的证书配置、PAServer连接、SDK路径定位范围一下子就缩小了。Android同理。Android Studio能正常编译一个空项目吗如果Android Studio都有问题那先修基础SDK。如果Android Studio一切正常再用Delphi的SDK Manager检查版本和路径。这套方法的本质是分层隔离先确保物理层和工具链层没问题再去查IDE配置层和应用代码层。另外遇到报错时不要只看表面那行红字双击错误信息通常会定位到具体的编译日志。Delphi IDE的输出窗口里错误内容其实写得很详细很多问题答案就藏在前面几条Warning里只是大家一慌就只盯着最后一条看。最后再分享一个我自己的习惯每成功配置好一个新平台我会用Git给项目打一个tag比如env-ready-android、env-ready-ios。后面把环境搞坏了或者走了弯路直接回退重新编译。这个习惯已经救过我很多次当然这些都是配置完毕之后的保洁功夫真正重要的还是前面那几步扎扎实实的平台验证。
上一篇/下一篇内容由系统自动关联
返回资讯列表 →