Delphi 中.deployproj文件结构

news2024/11/16 9:43:45

Delphi中,如果生成Android或者IOS等APP,需要在Project -> Deployment中按下Deploy图标 ,然后就会生成和项目工程文件名称一致,后缀是.deployproj的文件。当然如果直接按下运行图标(RUN)也会自动生成这个文件。

一、.deployproj文件整体结构

后缀为.deployproj的文件是一个XML文件。

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
    <Import Condition="Exists('$(BDS)\bin\CodeGear.Deployment.targets')" Project="$(BDS)\bin\CodeGear.Deployment.targets"/>
    <ProjectExtensions>
        <ProjectFileVersion>12</ProjectFileVersion>
    </ProjectExtensions>
    <PropertyGroup>
        <DeviceId Condition="'$(Platform)'=='Android'">fe7cdd09</DeviceId>
        <DeviceId Condition="'$(Platform)'=='Android64'">fe7cdd09</DeviceId>
        <DeviceId Condition="'$(Platform)'=='iOSDevice64'"/>
        <DeviceId Condition="'$(Platform)'=='iOSSimARM64'"/>
    </PropertyGroup>
    <ItemGroup Condition="'$(Platform)'=='OSX64'"/>
    <ItemGroup Condition="'$(Platform)'=='Android64'"/>
    <ItemGroup Condition="'$(Platform)'=='OSXARM64'"/>
    <ItemGroup Condition="'$(Platform)'=='Android'">
        <DeployFile Include="$(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png" Condition="'$(Config)'=='Release'">
            <RemoteDir>FMX_DEMO\res\drawable-large\</RemoteDir>
            <RemoteName>splash_image.png</RemoteName>
            <DeployClass>Android_SplashImage640</DeployClass>
            <Operation>1</Operation>
            <LocalCommand/>
            <RemoteCommand/>
            <Overwrite>True</Overwrite>
        </DeployFile>
        <DeployFile Include="Android\Debug\Android32_Debug\splash_image_def.xml" Condition="'$(Config)'=='Debug'">
            <RemoteDir>FMX_DEMO\res\drawable\</RemoteDir>
            <RemoteName>splash_image_def.xml</RemoteName>
            <DeployClass>AndroidSplashImageDef</DeployClass>
            <Operation>1</Operation>
            <LocalCommand/>
            <RemoteCommand/>
            <Overwrite>True</Overwrite>
        </DeployFile>
...
</ItemGroup>
    <ItemGroup Condition="'$(Platform)'=='Win32'">
        <DeployFile Include="Win32\Debug\FMX_DEMO.exe" Condition="'$(Config)'=='Debug'">
            <RemoteDir>FMX_DEMO\</RemoteDir>
            <RemoteName>FMX_DEMO.exe</RemoteName>
            <DeployClass>ProjectOutput</DeployClass>
            <Operation>0</Operation>
            <LocalCommand/>
            <RemoteCommand/>
            <Overwrite>True</Overwrite>
            <Required>True</Required>
        </DeployFile>
    </ItemGroup>
    <ItemGroup Condition="'$(Platform)'=='Win64'">
        <DeployFile Include="Win64\Debug\FMX_DEMO.exe" Condition="'$(Config)'=='Debug'">
            <RemoteDir>FMX_DEMO\</RemoteDir>
            <RemoteName>FMX_DEMO.exe</RemoteName>
            <DeployClass>ProjectOutput</DeployClass>
            <Operation>0</Operation>
            <LocalCommand/>
            <RemoteCommand/>
            <Overwrite>True</Overwrite>
            <Required>True</Required>
        </DeployFile>
        <DeployFile Include="\\Mac\Home\Documents\sensorwu\iCenter\Delphi_AutoBuilder\VCL\VCL_DEMO - 副本.txt" Condition="'$(Config)'=='Debug'">
            <RemoteDir>FMX_DEMO\</RemoteDir>
            <RemoteName>VCL_DEMO - 副本.txt</RemoteName>
            <DeployClass>File</DeployClass>
            <Operation>0</Operation>
            <LocalCommand/>
            <RemoteCommand/>
            <Overwrite>True</Overwrite>
        </DeployFile>
    </ItemGroup>
    <ItemGroup Condition="'$(Platform)'=='Linux64'"/>
    <ItemGroup Condition="'$(Platform)'=='iOSDevice64'"/>
    <ItemGroup Condition="'$(Platform)'=='iOSSimARM64'"/>
</Project>

包含的节点说明

序号

节点

说明

1

<Project>

根节点,只有一个

2

<ProjectExtensions>

项目扩展,只有一个节点

3

<PropertyGroup>

属性组节点,表示当前工程支持的平台,里边包含<DeviceId>节点,一个节点表示一个移动平台设备。有text属性的,表示连接设备的ID。例如本示例的:fe7cdd09

4

<ItemGroup>

表示某个平台包含的资源文件,里边<DeployFile>节点表示需要分发的文件。如果没有<DeployFile>节点表示该平台没有需要下发的文件(例如上面的OSX64、Android64等等),如果有这个节点(可以多个),一个节点表示一个文件资源,例如:Android

<DeployFile>节点说明

1

Include 属性

表示包含的文件

2

Condition 属性

表示构建的是Release还是Debug

3

<RemoteDir>

子节点:表示文件下发到设备的目录

4

<RemoteName>

字节点:表示文件下发到设备的名称

5

<DeployClass>

子节点:字面意思表示下发的类型,实际就是预先定义的名称

...

...

二、Android下发图标的目录及类型

序号

名称

<RemoteDir>

<RemoteName>

<DeployClass>

1

36x36ldpi

res\drawable-ldpi\

ic_launcher.png

Android_LauncherIcon36

2

48x48mdpi

res\drawable-mdpi\

Android_LauncherIcon48

3

72x72hdpi

res\drawable-hdpi\

Android_LauncherIcon72

4

96x96xhdpi

res\drawable-xhdpi\

Android_LauncherIcon96

5

144x144xxhdpi

res\drawable-xxhdpi\

Android_LauncherIcon144

6

192x192xxxhdpi

res\drawable-xxxhdpi\

Android_LauncherIcon192

7

24x24mdpi

res\drawable-mdpi\

ic_notification.png

Android_NotificationIcon24

8

36x36hdpi

res\drawable-hdpi\

Android_NotificationIcon36

9

48x48xhdpi

res\drawable-xhdpi\

Android_NotificationIcon48

10

72x72xxhdpi

res\drawable-xxhdpi\

Android_NotificationIcon72

11

96x96xxxhdpi

res\drawable-xxxhdpi\

Android_NotificationIcon96

12

426x320small

res\drawable-small\

splash_image.png

Android_SplashImage426

13

470x320normal

res\drawable-normal\

Android_SplashImage470

14

640x480large

res\drawable-large\

Android_SplashImage640

15

960x720xlarge

res\drawable-xlarge\

Android_SplashImage960

三、完整的<DeployFile>节点样例

<DeployFile Include="..\Document\ICON\访客预约备份72x72.png" Condition="'$(Config)'=='Debug'">
            <RemoteDir>FMX_DEMO\res\drawable-hdpi\</RemoteDir>
            <RemoteName>ic_launcher.png</RemoteName>
            <DeployClass>Android_LauncherIcon72</DeployClass>
            <Operation>1</Operation>
            <LocalCommand/>
            <RemoteCommand/>
            <Overwrite>True</Overwrite>
        </DeployFile>

说明:

  1. 如果实现自动构建,以上节点格式格式不要动;

  1. 增加一个分发图标,需要相应修改属性:Include和Condition;

  1. 需要根据实际情况修改子节点<RemoteDir>、<RemoteName>、<DeployClass>内容;

  1. 其他子节点照抄;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/184769.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【自然语言处理】情感分析(五):基于 BERT 实现

情感分析&#xff08;五&#xff09;&#xff1a;基于 BERT 实现本文是 情感分析 系列的第 555 篇&#xff0c;也是本系列的收官之作。前四篇分别是&#xff1a; 【自然语言处理】情感分析&#xff08;一&#xff09;&#xff1a;基于 NLTK 的 Naive Bayes 实现【自然语言处理…

简答说明通用智能基础模型的基本处理逻辑

当能量多的时候 激发的是欲望 按照中庸之道 多余的能力要消耗掉 当没有可以查询的模仿行为或者是大量消耗能量行为的时候 就开始记录行为统计为一个发生概率行为表 当拥有了概率记录数据后&#xff0c;按照最大发生概率依次模仿行为 行为得到的反馈 反馈的时间越短 则判断剩余能…

【论文速递】BEVFormer: 通过时空变换器从多相机图像中学习BEV表示

【论文原文】&#xff1a;ECCV2022 - BEVFormer: Learning Bird’s-Eye-View Representation from Multi-Camera Images via Spatiotemporal Transformers 论文&#xff1a;https://arxiv.org/abs/2203.17270 代码&#xff1a;https://github.com/fundamentalvision/BEVFormer…

C++ opencv之配置环境

opencv下载官网下载连接:https://opencv.org/releases/选择相应版本下载&#xff0c;windows操作系统下载windows版本下载exe后&#xff0c;双击即可安装&#xff0c;选择好路径&#xff0c;尽量安装路径不要存在中文&#xff0c;安装好如下:vs2022配置opencv为DLL添加Path环境…

windows10搭建spark本地开发环境

windows10搭建spark本地开发环境1. spark概述2. 安装spark2.1 Windows10 安装Spark本地开发环境2.1.1 **版本说明**2.1.2 **环境准备**2.1.2.1 JDK 安装和配置2.1.2.1.1 JDK下载2.1.2.1.2 JDK安装2.1.2.1.3 JDK配置2.1.2.2 Scala 安装和配置2.1.2.2.1Scala下载2.1.2.2.2 Scala安…

51单片机学习笔记-11 DS18B02温度传感器(单总线)

11 DS18B02温度传感器 [toc] 注&#xff1a;笔记主要参考B站江科大自化协教学视频“51单片机入门教程-2020版 程序全程纯手打 从零开始入门”。 11.1 温度传感器与单总线通信 11.1.1 DS18B20温度传感器 DS18B20是一种常见的数字温度传感器&#xff0c;其控制命令和数据都是以…

SAP ADM100-Unit3 系统配置介绍:系统如何评估它的参数

本节将了解系统评估配置文件参数的顺序,并了解这些参数存储的位置。 1、配置profile参数 各个实例和SAP系统都是使用Profile配置文件参数来配置的。这些参数的默认值被定义在内核程序代码中。 可以通过配置文件改变这些参数的默认值,当实例被开启时将读取配置文件中参数值。…

大屏加载速度优化--突破chrome 6个请求线程限制

1. 问题 当大屏中的内容很多时&#xff0c;比如50个以上&#xff0c;整个页面呈现速度会慢很多&#xff0c;影响用户体验。 通过 chrome开发者工具可以看到&#xff0c;默认情况下&#xff0c;chrome仅开启6个请求线程&#xff0c;用于发起ajax请求。 2. 解决方案 改进的方式…

epoll模型要点总结

(图是网上的&#xff0c;懒得自己画了) 1 epoll_ctl是向红黑树rbr插入、删除、修改fd。epoll_wait在双向链表rdllist中查询IO可读、可写、错误事件。 为什么使用红黑树&#xff1f;从插入、删除考虑。 2 epoll_ctl插入新fd时&#xff0c;新建epitem&#xff0c;会设置回调函…

2023年第五届清洁能源与智能电网国际会议(CCESG 2023)

2023年第五届清洁能源与智能电网国际会议&#xff08;CCESG 2023&#xff09; 重要信息 会议网址&#xff1a;www.ccesg.org 会议时间&#xff1a;2023年4月21-23日 召开地点&#xff1a;广西-南宁 截稿时间&#xff1a;2023年2月28日 录用通知&#xff1a;投稿后2周内 收…

结合代谢组学和网络药理学研究康复消炎栓治疗慢性盆腔炎作用机制

文章标题&#xff1a;Integrated Metabolomics and Network Pharmacology Study on the Mechanism of Kangfuxiaoyan Suppository for Treating Chronic Pelvic Inflflammatory Disease 发表期刊&#xff1a;Frontiers in Pharmacology 影响因子&#xff1a;5.988 发表年份&…

读书:《好奇心:保持对未知世界永不停息的热情》

刚看到《好奇心》这本书的书名&#xff0c;我对《好奇心》还是有点好奇心的。 为什么小孩的好奇心比大人多&#xff1f;也不一定&#xff0c;如果家长或老师没有足够好的引导的话&#xff0c;孩子也会对周围的世界没有兴趣。 好奇心为两种&#xff1a;消遣性好奇、认识性好奇…

【go-zero】在微服务架构中是否要使用分布式事务 如何避免分布式的耦合 微服务与分布式事务的对立

微服务要不要引入分布式事务讨论问题&#xff1a;微服务要不要引入分布式事务&#xff1f;1、分布式事务的场景分析2、分析利与弊3、如何优化分布式事务3.1 什么是CAP理论3.2 方式一&#xff1a;避免使用分布式事务1&#xff09;同步阻塞2&#xff09;异步调用3&#xff09;粗粒…

Linux中的Nginx平滑升级与回退

目录 一、平滑升级概述 1.平滑升级的定义 2.平滑升级的思路 &#xff08;1&#xff09;关于版本和备份 &#xff08;2&#xff09;向旧的Nginx的master进程发送USR2信号 &#xff08;3&#xff09;向旧的master进程发送winch信号&#xff0c;旧的worker子进程退出 &…

【疑难杂症】allennlp安装报错:Installing build dependencies ... error

背景&#xff1a; 配置PURE的算法环境&#xff0c;安装allennlp 0.9.0 &#xff08;pip install allennlp0.9.0&#xff09;报错&#xff0c;如图所示&#xff1a; 探索&#xff1a; 发现allennlp的依赖中有spacy&#xff0c;是在安装spacy 2.1.9的依赖时报错了。 此时我尝试…

PCB如何添加SMT定位孔经验总结

&#x1f3e1;《总目录》 目录1&#xff0c; 什么是SMT定位孔2&#xff0c;SMT定位孔有什么特征3&#xff0c;添加SMT定位孔的经验原则4&#xff0c;其他注意事项1&#xff0c; 什么是SMT定位孔 SMT定位孔是指在PCBA的SMT贴片焊接阶段&#xff0c;为了准确固定和定位板卡的机械…

【OpenGL学习】颜色和光照

颜色和光照 一、颜色的物理解释 颜色&#xff08;英语&#xff1a;colour&#xff0c;color&#xff09;又称色彩、色泽&#xff0c;是眼、脑和我们的生活经验对光的颜色类别描述的视觉感知特。这种对颜色的感知来自可见光谱中的电磁辐射对人眼视锥细胞的刺激。颜色是由光反射…

boost搜索引擎

文章目录1.项目介绍2.搜索引擎技术栈和项目环境3.正排索引和倒排索引 - 搜索引擎具体原理4.编写数据去标签和数据清洗模块Parser5.编写建立索引模块Index6.编写搜索引擎模块Searcher7.编写http_server8.效果展示1.项目介绍 Boost官网没有对应的搜索引擎&#xff0c;不方便我们…

04 frameset-iframe【尚硅谷JavaWeb教程】

04 frameset-iframe【尚硅谷JavaWeb教程】 frameset、iframe这个标签基本上已经不用了。 frameset标签 一个大的网页由很多个小的网页组成&#xff0c;会用到frameset。 frameset 表示页面框架&#xff0c;这个标签已经淘汰&#xff0c;了解&#xff0c;不需要掌握。 frame表…

Element ui Avatar头像管理组件 实现当用户没有头像时 以名称最后一个字为头像

el-avatar是一个比较方便的头像管理组件 src控制他的图片展示 <el-avatarclass "avatar":src"item.images" ></el-avatar>样式的话 可以用avatar控制 <style> .avatar{width: 18px;height: 18px;line-height: 18px; } .avatar img{b…