安装文件的布署
比如你想将打包一个空的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