Delphi XE10 精简 支持 Android 、 IOS 跨平台开发

2015/09/14 19:52
阅读数 1W

版本说明:

由于 XE5 时代 Delphi 安装体积急剧膨胀(完整安装接近 10G,程序文件、安装缓存超过 20G+),按照过去的方式打包,XE5 的 lite 体积 1.xG,接近 PE image 理论极限,而且当前 XE5 支持 x86、x64、osx、ios、android、等诸多平台功能,不好按照网友的口味进行裁剪(win32only、winonly、...)

经多方案权衡对比,决定 v8.x 开始,只使用 inno 对 Delphi 的主体功能进行封装(完整的 x86+其他支撑组件、注册表等),其他平台、功能的安装文件(x64、osx、ios、android)通过 7z 外挂的方式支持:安装时只需保证 lite exe 旁边有相关的 7z 文件(文件名不能变),在安装过程中即可选择、安装相应的功能(这意味着,如果只一个 exe、装出来就是 win32only,多一个 Ext.X64.7z,安装可选 x64 的支持,其他类推)

当前分为以下十个包:

  包名称    文件大小  作用

  Ext.3th.7z    69,394,470  第三方扩展
  Ext.Addons.7z    104,679,433  InterBase XE7、FastReport4 等
  Ext.Android.7z  3,483,048,158  Android 编译环境
  Ext.Help.7z    311,849,711  帮助文档
  Ext.IOS.7z    6,438,989,529  IOS 编译环境
  Ext.OSX.7z    762,214,182  OSX 编译环境
  Ext.Samples.7z  550,661,268  范例,其实直接用 svn 的也行
  Ext.SDK.7z    4,131,238,122  Android SDK/NDK 编译环境,当前包含 v23 的编译工具、虚机映像等
  Ext.Support.7z  132,810,751  Image、PAServer 等支持组件
  Ext.X64.7z    1,444,053,555  64 位编译环境

此外,安装程序支持:

1、保留一个第三方扩展的组件:Ext.3th.7z,当前只放了一个 PremiumStylePack,所有 7z 都会解压到 {app} 下
2、自动检测 Ext.SDK.7z 中的 SDK、NDK 版本进行设置,支持最新的 android-ndk-r9c-windows-x86+android-sdk_r24.3.3-windows
3、自动检测旁边的 jdk-7u*-windows-*.exe 进行安装,支持最新的 jdk-7u80-windows-i586.exe

----------

发布历史:

2015.09.09 - v12.0

1、根据 23.0.20618.2753 原版制作
2、集成 Unis 大侠的特别补丁

----------

已知问题:

关于 XP 下启动报错问题

Q1:说:bds.exe - 无法找到入口,无法定位程序输入点 InterlockedCompareExchange64 于动态链接库 KERNEL32.DLL 上?
A1:没法子,原版如此,这个 API 需要 Vista 或者 Windows Server 2003 的支持,说明 Seattle 开始 EMB 要抛弃 XP 了,其实只是 ios 编译相关的 dll 需要这个,如 dcciosxxx,甚至 mongoc 也需要,如果不需要 ios 编译,可以无视绕过,点击确定即可

Q2:启动报 External exception C06D007F 的错误?这是 Castalia 的问题,Seattle IDE 直接集成了 Castalia 的代码,XE8 还可以通过注册表关闭 Castalia,Seattle 不行了
A2:后来 Unis 大侠在补丁中做了修补:Under XP simulate missing InterlockedCompareExchange64 and add stub functions for missing: AddClipboardFormatListener, RemoveClipboardFormatListener (this why (ex)castalia crash).

Q3:经测试,在 XP SP3 之前的版本,依旧有问题:无法定位程序输入点 GetLogicalProcessorInformation 于动态链接库 KERNEL32.dll 上。
Q3:只能期待 Unis 大侠再次出手?

其他问题:

Q4:怎么 Android SDK 还需要更新、下载?
A4:原版如此;基于国情,直接集成了一个“够用的”(编译工具、虚机映像,但不包括文档、例子);也可以使用 swish 提供的 Android SDK 23.3.4:http://blog.qdac.cc/?p=2837;或者自己想办法红杏吧 ~

Q5:创建 Android Service 时,选择 Remote Service 时无法编译?
A5:据说这是 Delphi/C++ Builder 10 中 Android 服务的一处低级 Bug 修复,详情参考这里:http://blog.qdac.cc/?p=2839,EMB 的测试,无语啊,期待官方更新

Qn:...
An:...

----------

发布说明:

相对原始版本,这个 Lite 精简且只精简了原 RTM 的以下支持程序、第三方工具内容:

1、InterBase XE7、FastReport4 等,因为这些专版或者只有 dcu 没有完整源码,或者是原版功能精简版,推荐直接用原版吧
2、Samples 例子,可以通过 svn 获取:http://svn.code.sf.net/p/radstudiodemos/code/branches/RADStudio_Seattle/
3、当前的 PremiumStylePack 包括网上收集的:30233_custom_vcl_style_for_windows_10.ZIP、30258_custom_firemonkey_style_for_windows_10.ZIP、30354_firemonkey_premium_styles_pack_for_rad_studio_10_seattle.ZIP、30355_vcl_premium_styles_pack_for_rad_studio_10_seattle.ZIP
4、AQtimeRS.exe、CodeSite Express、CollabNetSubversion-client-1.7.5-1-Win32.exe、DevJET_DI_Setup_Express.exe、FBSE700.exe、RaveReportsSetup_Win.exe,当前官方 RTM 版本就是没有这些安装包的

其他:

1、PSDK 在当前官方帮助文档中已经没有了
2、XE7 开始,BDE 彻底消失了,需要独立的安装程序,只能通过官方注册用户下载
3、原版依赖 300多兆的 .NET Framework 3.5 sp1,我把它依赖的文件提取出来整合到安装程序中了,所以还是与以往 lite 一样,仅依赖 .NET Framework 2.0。
4、原版 Bds.exe 和 LicenseManager.exe 会访问网络,为避免不必要的流量,强烈建议直接 windows 防火墙屏蔽

其他的源码、支持库等都是绝对完整的。

----------

特别说明:

这个版本的来源于官方 Beta/RTM 正式试用版,版权归 Embarcadero 所有,请在下载后 24 小时内删除。
重新打包纯粹个人兴趣所致,希望能方便网友测试、交流。作为 Delphi 多年的 Fans,我们都希望 Delphi 能做得更好!
如果您觉得 Delphi 不错,请购买正版,更好的支持 Embarcadero 的发展!

----------

特别感谢:

1、crackerjack、dr、freecat、gateway、huayan889、kerlingen、sinner、unis、yuto 等大侠的特别补丁,感谢诸位我知道的不知道的的大虾们的辛勤劳动!
2、chineseswish、iny、nevergrief、snakejiao、star5、swish、tintin1943、ti9er、wang_80919、wuxiangyang 等等我知道的不知道的的网友们的热情测试!
3、andreas hausladen 等大虾们的无私贡献!

 

有文件 @ 360:

http://yunpan.cn/cm4iTri3havSL  访问密码 3a05

百度:

链接:http://pan.baidu.com/share/link?shareid=3557556884&uk=1060104307 ;密码:8o9s

当然,基于众所周知的原因,bd 需要先 Unzip.Me.First.zip ~
----------------------------------------------   

展开阅读全文
打赏
0
9 收藏
分享
加载中
打赏
0 评论
9 收藏
0
分享
返回顶部
顶部