用 Delphi 做 Android 程序,开发阶段肯定是 Debug 模式。如果程序需要发布一些额外的文件,比如 SQLite 的数据库文件,则需要在点击菜单 [Project] - [Deployment] 弹出来的界面里面,去增加这个文件。
然后,如果要编译 Release 版本,它的 Deployment 界面里面,没有这个文件,还必须要手动添加一遍。没找到可以自动复制的地方。这个 Deployment 界面上的操作非常难用,而且似乎也不排序,里面的文件的顺序乱七八糟。
如果需要额外发布的文件比较多,在开发阶段,需要某个文件,就去这个界面里面添加一次。是逐渐添加的,倒是没有工作量麻烦的问题。但发布时,一下子要在 Release 的这个界面里面添加很多文件,实在是一个很头大的事情。
于是俺用 Delphi 的 [Find in Files]方法搜索了一下,看看这些文件名究竟是写在哪个文件里面。发现是在工程文件 .dproj 文件里面。但在 delphi 里面似乎没法打开这个 dproj 文件来编辑。
于是俺用 Nopad++ 来打开这个文件,发现其内容是 XML 格式的文本。在里面搜索我的数据库文件,果然发现:
<DeployFile LocalName="..\Lang\MyDoc.db" Configuration="Debug" Class="File">
<Platform Name="Android">
<RemoteDir>.\assets\internal\</RemoteDir>
<RemoteName>MyDoc.db</RemoteName>
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
于是俺试着复制这一段,在这个文件里面增加一段:
<DeployFile LocalName="..\Lang\MyDoc.db" Configuration="Release" Class="File">
<Platform Name="Android">
<RemoteDir>.\assets\internal\</RemoteDir>
<RemoteName>MyDoc.db</RemoteName>
<Overwrite>true</Overwrite>
</Platform>
</DeployFile>
也就是把里面的 Debug 修改为 Release,然后保存这个 dproj 文件。然后在 Delphi 里面打开这个工程,进入 Deployment 界面去查看,果然在 Android Release 里面,已经添加了这个文件。
这样手动编辑,复制粘贴,比如在那个 Deployment 窗口里面去一个一个添加文件,简单直接多了,效率高多了。