一、说明
互联网公司客户端软件升级通常分为:
- 普通升级 (判断条件是软件版本号)
- 增量升级
- 全量升级
- 强制升级
- 全量升级
- 灰度升级
1.根据灰度策略,命中的客户端提示升级
版本升级的判断依据是版本号及其安装包释放文件的md5值。
普通升级的判断条件是软件版本号,强制升级的判断条件是软件基础版本号,或者当有大版本更新或者软件构建框架升级。
增量升级只下载替换md5变化的文件
全量升级重写下载安装包,走安装流程
二、文件md5获取
#ifndef FILEMD5INSTANCE_H
#define FILEMD5INSTANCE_H
#include <QObject>
#include <QMutex>
#include <QDir>
#include <QCryptographicHash>
#include <QFile>
#include <QDebug>
class FileMd5Instance : public QObject
{
Q_OBJECT
public:
explicit FileMd5Instance();
~FileMd5Instance();
static FileMd5Instance* instance();
void fileMd5(const QDir &dir);
void bigFileMd5(const QDir &dir);
private:
static QMutex *m_pmutex;
static FileMd5Instance *m_pinstacne;
};
#endif // FILEMD5INSTANCE_H