登录 用户中心() [退出] 后台管理 注册
   
您的位置: 首页 >> CLQ工作室开源代码 >> 主题: ⭐[delphi+/linux/fmx]delphi 11.3 在 linux mint 下运行程序 - 即 linux 版本 fmx 配置方法     [回主站]     [分站链接]
标题
⭐[delphi+/linux/fmx]delphi 11.3 在 linux mint 下运行程序 - 即 linux 版本 fmx 配置方法
clq
浏览(221) + 2024-11-29 20:23:19 发表 编辑

关键字:

[2025-02-08 14:39:18 最后更新]
[delphi+/linux/fmx]delphi 11.3 在 linux mint 下运行程序 - 即 linux 版本 fmx 配置方法

首先要说的是现在的 delphi 跨平台方案基本上是 fmx (当然第三方不一定),所以它在 linux 下的方案早就不是 kylix 那一套了。kyix 我是做过一个长达两年周期的空军总医院地项目的,可以说是一言难尽。
总的来说可以用,太没完成的部分太多了,很多时候是要自己去修改最终效果的,这有点象现在的 lazarus 或者 govcl 。
而真正“直系”delphi 跨平台方案就是 fmx 了,总的来说仔细用的话效果还是可以的,虽然坑很多,不过好在它的坑表现比较稳定没有抽风的情况,一旦知道某种情况怎样解决,以后几乎不会再惹麻烦。

好吧,扯得太多了。 fmx 基本有一个隐患,那就是它的作者已经离开了 delphi ,这也是为什么默认 delphi+ 里的 fmx 程序是无法增加 linux 编译平台的。
好消息是原作者和 delphi 的现公司已经达成协议,所以现在 linux 版本的 fmx 是可以直接在 delphi 中安装的(独立安装包也有,它还有自己的网站,不过我没这样独立安装过)。

ps, macos/ios 可以看这篇文章,非常详细
https://blog.51cto.com/u_16213590/8561120

--------------------------------------------------------
好了本质上说,其实 linux 版本 fmx 和 macos 版本在操作上其实只是安装不同。其他什么安装编译服务器这些是一样的原理。

安装方法为,菜单 -> Tools -> Getit Package Manager 然后会弹出一个对话框,显示很多组件。
在其中的搜索框中输入 linux 就可以看到 linux fmx 了,然后选择安装即可。不过奇怪的是,这个安装时快时慢,有点像 github 有时候你无论如何也安装不上,得等第二天 ...

安装好的方法也是要安装 PAServer 然后在 windows 上运行相应平台程序时,会提示你建立一个连接服务器的配置。这些配置也是可以修改的,这些配置基本上在 菜单 Tool -> Options 窗口下的 Deployment 子项目中(例如 SDK Manager)。

--------------------------------------------------------
参考以下

-----------------------------------------------
https://www.cnblogs.com/chinasoft/p/14111805.html
2019年6月25日,EMB 官方与FMXlinux 达成协议,在以后的新产品中,可以免费使用FMXLinux, 用户
可以通过Getit 现在并安装FMXLinux。
--
一个比较好的教程
https://www.cnblogs.com/ypldbk/p/14356233.html

需要在 linux 上先安装 LinuxPAServer22.0.tar.gz
C:\Program Files (x86)\Embarcadero\Studio\22.0\PAServer


-----------------------------------------------





clq
2024-11-29 23:56:57 发表 编辑



https://www.raysoftware.cn/671.html

--------------------------------------------------------

Delphi和Android Studio混合开发(二)FMX项目和Android混合开发
发表于2023年12月23日由raysoftware

Delphi开发Android程序非常快,拖拖拉拉几下子就可以开发出一个Android程序,而且还可以随意输出成Windows,Mac,Linux,iOS上面。

但是因为Delphi和Android Studio开发的的Android APP还是有点区别的,和C++开发Android APP类似,Delphi是编译成SO然后由Java代码中LoadLibrary加载,所有界面都是FMX自绘制的。Delphi IDE只能集成.jar,无法集成.aar,集成.aar要解压开,拿出里面的.jar,.so以及资源文件等手动集成进去。因为没有gradle也没有继承maven库上代码的功能,只能把maven库上面的.aar下载回来,解压集成,一旦三方库升级,又要手动下载解压。。。。

这里就又有一个方案,还是Delphi和Android Studio混合开发。

就是借助Delphi + FMX的快速开能力,迅速开发各种平台APP,当需要Android平台时,把Delphi编译出来的.so(实际上也就是Delphi开发的APP的全部代码部分)复制放到Android Studio中,其他部分由Android Studio开发,三方库maven的集成也有Android Studio来负责。

先说一下Delphi FMX开发的Android APP的原理。

Delphi的Android APP,实际上只有一个Activity,名字叫com.embarcadero.firemonkey.FMXNativeActivity,我们见到的FMX的各种UI都是在这个Activity上绘制出来的。FMXNativeActivity类的代码是写死在fmx.jar中,这个文件是放在

C:\Program Files (x86)\Embarcadero\Studio\23.0\lib\android\release文件夹中的,当然也有源代码项目放在C:\Program Files (x86)\Embarcadero\Studio\23.0\source\rtl\androiddex\java\fmx

在AndroidManifest的Activity声明的时候有个meta表示应该加载的是哪个.so

好了,下面介绍一下怎么在Android Studio创建的项目中使用FMX的界面。

先创建一个普通的Delphi的多平台FMX项目,Form上放一个图片,点击展示一个消息框。平台选择Android 64bit.

Build一下这个项目。找到Android\Release文件夹中的.so文件。

新建Android Studio项目,我选择的是无Activity项目,当然也可以创建有Activity的项目。然后把前面的.so文件复制到项目的libs\arm64-v8a文件中,把前面说的C:\Program Files (x86)\Embarcadero\Studio\23.0\lib\android\release\fmx.jar复制到libs中,因为fmx.jar里面有Activity的源代码。

然后再回到Delphi项目的Android64\Release\AndroidManifest.xml,把Activity的声明复制到Android Studio的AndroidManifest.xml中。

因为fmx.jar中用到了PickVisualMedia contract,所以如果你的项目编译的时候提示找不到PickVisualMedia,那么请在app的build.grale中添加引入依赖。

//for PickVisualMedia contract
implementation "androidx.activity:activity-ktx:1.6.1"

好了,可以直接打包运行了,因为Activity在AndroidManifest.xml中有声明是启动器,所以APP运行起来直接就是我们的FMX界面。

你也可以去掉框出来的部分,这样FMX Activity就不是APP运行的时候的启动Activity了。你可以在其他代码中用startActivity的方式把这个FMX的界面调出来。

下面就可以享受这种混合开发方式的好处了:

1.FMX开发编码的速度快,.so文件运行速度快,有一定的防逆向能力。

2.放到Android Studio后,接入三方sdk十分方便,比如可以直接接入微信,支付宝,友盟统计等,通过maven接入,只要在Gradle中声明即可。版本号写成加号,就可以每次打包都是最新版,不像Delphi原生那样需要下载aar或者jar,解压,选文件,生成R.java等。

3.因为主业务功能是用Delphi + FMX开发的,还可以选择输出成iOS ,Windows,MacOS,Linux等的程序。

本文的DEMO链接,内有Android Studio项目和Delphi 的SO项目。

此条目发表在Android, APP, Delphi, 未分类分类目录,贴了Android, Android Studio, Delphi, FMX, JNI, so标签。将固定链接加入收藏夹。
← Delphi和Android Studio混合开发(一)Delphi开发标准.SO给Android Studio用

近期文章
Delphi和Android Studio混合开发(二)FMX项目和Android混合开发
Delphi和Android Studio混合开发(一)Delphi开发标准.SO给Android Studio用
Delphi12的一个数据库问题
给Delphi高版本添加类似Kotlin的for的功能
Android,保活,复活,防杀
近期评论
soderzhanki-3-sezon-2021.online发表在《Delphi2007以后编译器进步的简单测试》
soderzhanki-3-sezon-2021.online发表在《Delphi循环移位操作》
soderzhanki-3-sezon-2021.online发表在《FireMonkey在使用GDIPlus放大图像的Bug的修复》
soderzhanki-3-sezon-2021.online发表在《Delphi写ShellCode获取Kernel32.DLL的地址.》
soderzhanki-3-sezon-2021.online发表在《Delphi2010的RTTI增强》
文章归档
2023年12月
2023年11月
2021年8月
2020年12月
2020年9月
2020年6月
2020年5月
2018年3月
2017年4月
2017年2月
2016年12月
2016年2月
2014年9月
2014年6月
2014年5月
2014年4月
2014年3月
2014年1月
2013年11月
2013年10月
2013年9月
2013年8月
2013年7月
2013年6月
2013年5月
2013年4月
2012年12月
2012年11月
2012年10月
2012年9月
分类
Android
APP
cocos2d-x
CPP
Delphi
未分类
功能
登录
条目feed
评论feed
WordPress.org

武稀松(wr960204)的博客
















总数:1 页次:1/1 首页 尾页  
总数:1 页次:1/1 首页 尾页  


所在合集/目录
delphi+ 更多
linux 更多



发表评论:
文本/html模式切换 插入图片 文本/html模式切换


附件:



NEWBT官方QQ群1: 276678893
可求档连环画,漫画;询问文本处理大师等软件使用技巧;求档softhub软件下载及使用技巧.
但不可"开车",严禁国家敏感话题,不可求档涉及版权的文档软件.
验证问题说明申请入群原因即可.

Copyright © 2005-2020 clq, All Rights Reserved
版权所有
桂ICP备15002303号-1