Delphi安卓App开发之文件的打包布署

安装文件的布署

比如你想将打包一个空的sqlite数据库文件database.db到apk中,

那么打开Project->Deployment,

工程的布署管理:

将上面平台选择为”All configurations – Android 32-bit platform”,

再点击左上的添加文件按钮,会弹出文件选择对话框,选择好文件,

注意红框中的“Remote Path”,默认是布署到“.\”目录的,代表安装包的根目录,

在安卓平台,你要将它布署到“assets\internal\”中,

这样应用启动的时候,它会被复制到应用的文档目录,

你就能通过TPath.GetDocumentsPath+PathDelim+’database.db’访问到它啦。

System.StartUpCopy

布署到assets\internal\的文件,都是通过一个叫System.StartUpCopy的单元将它们从安装包中复制到文档目录的。

大家如果新建一个FireMonkey的工程,

查看工程文件的代码,第一个就是它了:

而这个单元初始的时候就会调用CopyStartUpFiles来将布署到assets\internal\的文件复制到应用的文档目录。

布署安卓动态链接库so文件

Windows下面的程序要调用一个DLL,则直接将它们放到EXE根目录即可,

安卓下则不同,

首先,安卓下面的动态链接库后缀为.so,

其次,都需要布署到应用的动态链接库目录,

32位app下是library\lib\armeabi-v7a\,

64位app下是library\lib\arm64-v8a\,

比如,从Delphi 11开始,如果要使用sqlite,需要自已布署libsqlite.so,

或者说你用indy需要访问SSL的网站,则需要布署libssl.so等,

如下图:

此外,我会将这一系列的文章都放到OrangeUI的官网,方便大家需要的时候能找到!

http://www.orangeui.cn