前言
因项目需要,需要在鸿蒙系统下实现自动升级功能,应用程序使用的是Qt for android开发,因此只要实现android下的apk安装就可以了。网上资料不少,但真正可以用的不多,大部分资料还有些过时了。
本次文档,记录通过jni进行APK文件安装
一、实现方法
Qt使用jni安装的原理基本相同,实现方法主要分如下两种:
1.使用jni直接调用已写好的java代码
2.使用jni直接调用java接口
两者需要了解下java相关的代码,后者要求更高一点,每一步操作,都要经过jni。前者需要额外编写java代码,后者直接在C++中调用即可
笔者本次使用的是后者,我们看下如何实现
二、新建Qt项目
本文档着重实现apk安装,因此非相关部分,就不详细介绍了
1.新建一个Qt Quick项目
2.项目文件添加androidextras模块
3.编写工具类Tool,并将实例注册到qml上下文中
4.qml界面放入一个Label和一个Button,并实现调用工具类Tool的installApk()函数
5.生成android相关配置文件
三、修改AndroidManifest ,注册FileProvider
1.修改包名Package name
此步非必要,但建议读者实际使用时,修改成自己的
2.添加权限Permissions
权限代码添加如下
<manifest xmlns:android="http://schemas.android.com/apk