购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

3.3.1 Use Ministro service to install Qt

前面介绍BogDan Vatra时提到,Ministro是他创建和维护的开源项目。

早在2009年BogDan Vatra开始这个项目时,世面上的安卓设备还很少,而且多数设备只有非常有限的空间(小于100MB),使用静态的Qt库或者把Qt库打包到APK中不太可能,那时候Google市场对APK大小的限制也比现在多(50MB)。于是BogDan Vatra被迫引入Ministro服务。

即便在今天,一些中低端的设备一样没有太多空间。

Ministro如何工作

使用Ministro,不用把所有东西都打包进你的APK,安装包只需要包含你的应用库文件(.so文件)、它需要的资源以及它需要的外部依赖库列表。

应用启动时,它会尝试连接Ministro服务,如果失败它会认为Ministro没有安装,进而打开设备上默认的市场应用(Google Play或者其他)让用户安装Ministro服务。成功连接Ministro服务之后,你的应用会把依赖库列表发给Ministro服务。

Ministro检查这些依赖库是否存在,如果不存在,它会下载缺失的库并保存到一个特定的安全位置,然后它会将另外一份列表发送给你的应用,包括你的应用在启动Qt应用之前必须要加载的所有的依赖项。

应用从Ministro给出的位置加载依赖库,然后你的应用继续运行,进入你为用户创建的神秘花园。

现在让我们来看看使用Ministro的优点和缺点。

使用Ministro的优点

使用Ministro的缺点

为了解决Ministro更新Qt库可能带来的问题,Ministro针对Qt的每一个主要发行版本使用不同的存储路径,如我们在AndroidManifest.xml文件中看到的名为qt_resources的meta-data,它的值为https://download.qt-project.org/ministro/android/qt5/qt-5.2;如果是5.1版本,qt_resources对应的值为https://download.qt-project.org/ministro/android/qt5/qt-5.1。更进一步,每一个版本都使用三个不同的存储库(不稳定、测试、稳定)。

采用这种方案,在4年内,Ministro项目发布了13个Necessitas版本和5个Qt项目版本,没有给Ministro的用户带来任何不良影响,用户数也没有任何衰减。其实,Ministro在这点上非常安全,你大可不必担心。 SelbtRy1CKbvaOMZfIq2vF4HLf+lMWNpw8Lr4pfKxT3Tux65tPF3p1H8tjeUYf8I

点击中间区域
呼出菜单
上一章
目录
下一章
×