升級
說明: 本模塊首批接口從API version 6開始支持。后續(xù)版本的新增接口,采用上角標單獨標記接口的起始版本。 開發(fā)前請熟悉鴻蒙開發(fā)指導文檔 :[
gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
升級范圍:升級整個系統(tǒng),包括內置的資源、預置應用;第三方的應用不在升級的范圍。
升級依賴:升級分為SD卡升級和在線升級兩種。
- SD卡升級依賴升級包和SD卡安裝。
- 在線升級依賴設備廠商部署的用于管理升級包的服務器。服務器由設備廠商部署,IP由調用者傳入,請求的request接口是固定的,由設備廠商開發(fā)。
導入模塊
import update from '@ohos.update'
權限列表
無
update.getUpdater
getUpdater(upgradeFile: string, updateType?: UpdateTypes): Updater
獲取本地升級Updater。
系統(tǒng)能力 :SystemCapability.Update.UpdateService
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
upgradeFile | string | 是 | 升級文件 |
updateType | [UpdateTypes] | 是 | 升級類型 |
返回值:
類型 | 說明 |
---|---|
[Updater] | 升級對象 |
示例:
try {
let updater = update.getUpdater('/data/updater/updater.zip', 'OTA');
} catch(error) {
console.error(" Fail to get updater error: " + error);
}
update.getUpdaterForOther
getUpdaterForOther(upgradeFile: string, device: string, updateType?: UpdateTypes): Updater
獲取升級對象給待升級設備。
系統(tǒng)能力 :SystemCapability.Update.UpdateService
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
upgradeFile | string | 是 | 升級文件 |
device | string | 是 | 待升級設備 |
updateType | [UpdateTypes] | 是 | 升級類型 |
返回值:
類型 | 說明 |
---|---|
[Updater] | 升級對象 |
示例:
try {
let updater = update.getUpdaterForOther('/data/updater/updater.zip', '1234567890', 'OTA');
} catch(error) {
console.error(" Fail to get updater error: " + error);
}
update.getUpdaterFromOther
getUpdaterFromOther(upgradeFile: string, device: string, updateType?: UpdateTypes): Updater
獲取其它設備為本設備升級的Updater。
系統(tǒng)能力 :SystemCapability.Update.UpdateService
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
upgradeFile | string | 是 | 升級文件 |
device | string | 是 | 待升級設備 |
updateType | [UpdateTypes] | 是 | 升級類型 |
返回值:
類型 | 說明 |
---|---|
[Updater] | 升級對象 |
示例:
try {
let updater = update.getUpdaterFromOther('/data/updater/updater.zip', '1234567890', 'OTA');
} catch(error) {
console.error(" Fail to get updater error: " + error);
}
Updater
getNewVersionInfo
getNewVersionInfo(callback: AsyncCallback): void
獲取新版本信息,使用callback方式作為異步方法。
系統(tǒng)能力 :SystemCapability.Update.UpdateService
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback<[NewVersionInfo]> | 否 | 回調返回新版本信息 |
示例:
updater.getNewVersionInfo((err, info) = > {
console.log("getNewVersionInfo success " + info.status);
console.log(`info versionName = ` + info.checkResults[0].versionName);
console.log(`info versionCode = ` + info.checkResults[0].versionCode);
console.log(`info verifyInfo = ` + info.checkResults[0].verifyInfo);
});
getNewVersionInfo
getNewVersionInfo(): Promise
獲取新版本信息,使用promise方式作為異步方法。
系統(tǒng)能力 :SystemCapability.Update.UpdateService
返回值:
類型 | 說明 |
---|---|
Promise<[NewVersionInfo]> | Promise,用于異步獲取結果 |
示例:
updater.getNewVersionInfo().then(value = > {
console.log(`info versionName = ` + value.checkResults[0].versionName);
console.log(`info versionCode = ` + value.checkResults[0].versionCode);
console.log(`info verifyInfo = ` + value.checkResults[0].verifyInfo);
}).catch(err = > {
console.log("getNewVersionInfo promise error: " + err.code);
});
checkNewVersion
checkNewVersion(callback: AsyncCallback): void
檢查新版本,使用callback方式作為異步方法。
系統(tǒng)能力 :SystemCapability.Update.UpdateService
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback<[NewVersionInfo]> | 否 | 回調返回新版本信息 |
示例:
updater.checkNewVersion((err, info) = > {
console.log("checkNewVersion success " + info.status);
console.log(`info versionName = ` + info.checkResults[0].versionName);
console.log(`info versionCode = ` + info.checkResults[0].versionCode);
console.log(`info verifyInfo = ` + info.checkResults[0].verifyInfo);
});
checkNewVersion
checkNewVersion(): Promise
檢查新版本,使用promise方式作為異步方法。
系統(tǒng)能力 :SystemCapability.Update.UpdateService
返回值:
類型 | 說明 |
---|---|
Promise<[NewVersionInfo]> | Promise函數(shù)返回新版本信息 |
示例:
updater.checkNewVersion().then(value = > {
console.log(`info versionName = ` + value.checkResults[0].versionName);
console.log(`info versionCode = ` + value.checkResults[0].versionCode);
console.log(`info verifyInfo = ` + value.checkResults[0].verifyInfo);
}).catch(err = > {
console.log("checkNewVersion promise error: " + err.code);
});
verifyUpdatePackage
verifyUpdatePackage(upgradeFile: string, certsFile: string): void
升級前檢查升級包是否有效。
系統(tǒng)能力 :SystemCapability.Update.UpdateService
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
upgradeFile | string | 是 | 待校驗的升級包路徑 |
certsFile | string | 是 | 證書路徑 |
示例:
updater.on("verifyProgress", callback = > {
console.info('on verifyProgress ' + callback.percent);
});
update.verifyUpdatePackage("XXX", "XXX");
rebootAndCleanUserData8+
rebootAndCleanUserData(): Promise
重啟設備并清除用戶分區(qū)數(shù)據(jù)。
系統(tǒng)能力 :SystemCapability.Update.UpdateService
返回值:
類型 | 說明 |
---|---|
Promise | Promise示例,用于異步獲取結果。 |
示例:
updater.rebootAndCleanUserData().then(result = > {
console.log("rebootAndCleanUserData " + result);
}).catch(err = > {
console.info("rebootAndCleanUserData promise error: " + err.code);
});
rebootAndCleanUserData8+
rebootAndCleanUserData(callback: AsyncCallback): void
重啟設備并清除用戶分區(qū)數(shù)據(jù)。
系統(tǒng)能力 :SystemCapability.Update.UpdateService
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | Function | 是 | AsyncCallback |
示例:
updater.rebootAndCleanUserData((err, result) = > {
console.log("rebootAndCleanUserData ", result)
});
applyNewVersion
applyNewVersion(): Promise
重啟設備后安裝升級包。
系統(tǒng)能力 :SystemCapability.Update.UpdateService
返回值:
類型 | 說明 |
---|---|
Promise | Promise示例,用于異步獲取結果。 |
示例:
updater.applyNewVersion().then(result = > {
console.log("appVewVersion ", result)
}).catch(err = > {
console.info("applyNewVersion promise error: " + err.code);
});
applyNewVersion
applyNewVersion(callback: AsyncCallback): void
重啟設備后安裝升級包。
系統(tǒng)能力 :SystemCapability.Update.UpdateService
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | Function | 是 | AsyncCallback |
示例:
updater.applyNewVersion((err, result) = > {
console.log("applyNewVersion ", result)
});
download
download(): void
下載新版本,并監(jiān)聽下載進程。
系統(tǒng)能力 :SystemCapability.Update.UpdateService
示例:
updater.on("downloadProgress", progress = > {
console.log("downloadProgress on" + progress);
console.log(`downloadProgress status: ` + progress.status);
console.log(`downloadProgress percent: ` + progress.percent);
});
updater.download();
upgrade
upgrade():void
啟動升級。
系統(tǒng)能力 :SystemCapability.Update.UpdateService
示例:
updater.on("upgradeProgress", progress = > {
console.log("upgradeProgress on" + progress);
console.log(`upgradeProgress status: ` + progress.status);
console.log(`upgradeProgress percent: ` + progress.percent);
});
updater.upgrade();
setUpdatePolicy
setUpdatePolicy(policy: UpdatePolicy, callback: AsyncCallback): void
設置升級策略,使用callback方式作為異步方法。
系統(tǒng)能力 :SystemCapability.Update.UpdateService
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
policy | [UpdatePolicy] | 是 | 設置升級策略 |
callback | AsyncCallback | 是 | 回調返回結果 |
示例:
// 設置策略
let policy = {
autoDownload: false,
autoDownloadNet: true,
mode: 2,
autoUpgradeInterval: [ 2, 3 ],
autoUpgradeCondition: 2
}
updater.setUpdatePolicy(policy, (err, result) = > {
console.log("setUpdatePolicy ", result)
});
setUpdatePolicy
setUpdatePolicy(policy: UpdatePolicy): Promise
設置升級策略,使用promise方式作為異步方法。
系統(tǒng)能力 :SystemCapability.Update.UpdateService
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
policy | [UpdatePolicy] | 是 | 設置升級策略 |
返回值:
類型 | 說明 |
---|---|
Promise | Promise函數(shù)返回設置結果 |
示例:
let policy = {
autoDownload: false,
autoDownloadNet: true,
mode: 2,
autoUpgradeInterval: [ 2, 3 ],
autoUpgradeCondition: 2
}
updater.setUpdatePolicy(policy).then(result = >
console.log("setUpdatePolicy ", result)
).catch(err = > {
console.log("setUpdatePolicy promise error: " + err.code);
});
getUpdatePolicy
getUpdatePolicy(callback: AsyncCallback): void
獲取升級策略信息,使用callback方式作為異步方法。
系統(tǒng)能力 :SystemCapability.Update.UpdateService
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
callback | AsyncCallback<[UpdatePolicy]> | 否 | 回調返回升級策略信息 |
示例:
updater.getUpdatePolicy((err, policy) = > {
console.log("getUpdatePolicy success");
console.log(`policy autoDownload = ` + policy.autoDownload);
console.log(`policy autoDownloadNet = ` + policy.autoDownloadNet);
console.log(`policy mode = ` + policy.mode);
});
getUpdatePolicy
getUpdatePolicy(): Promise
獲取升級策略,通過promise方式作為異步方法。
系統(tǒng)能力 :SystemCapability.Update.UpdateService
返回值:
類型 | 說明 |
---|---|
Promise<[UpdatePolicy]> | Promise函數(shù)返回升級策略信息 |
示例:
updater.getUpdatePolicy().then(value = > {
console.log(`info autoDownload = ` + value.autoDownload);
console.log(`info autoDownloadNet = ` + value.autoDownloadNet);
console.log(`info mode = ` + value.mode);
}).catch(err = > {
console.log("getUpdatePolicy promise error: " + err.code);
});
UpdateTypes
升級類型。
系統(tǒng)能力 :以下各項對應的系統(tǒng)能力均為:SystemCapability.Update.UpdateService
參數(shù)名 | 說明 |
---|---|
OTA | OTA升級 |
patch | 補丁升級 |
PackageTypes
升級包類型。
系統(tǒng)能力 :以下各項對應的系統(tǒng)能力均為:SystemCapability.Update.UpdateService
參數(shù)名 | 默認值 | 說明 |
---|---|---|
PACKAGE_TYPE_NORMAL | 1 | 通用升級包 |
PACKAGE_TYPE_BASE | 2 | 基礎升級包 |
PACKAGE_TYPE_CUST | 3 | 定制升級包 |
PACKAGE_TYPE_PRELOAD | 4 | 預裝升級包 |
PACKAGE_TYPE_COTA | 5 | 參數(shù)配置升級包 |
PACKAGE_TYPE_VERSION | 6 | 版本升級包 |
PACKAGE_TYPE_PATCH | 7 | 補丁包 |
InstallMode
安裝模式。
系統(tǒng)能力 :以下各項對應的系統(tǒng)能力均為:SystemCapability.Update.UpdateService
參數(shù)名 | 默認值 | 說明 |
---|---|---|
INSTALL_MODE_NORMAL | 0 | 正常升級 |
INSTALL_MODE_NIGHT | 1 | 夜間升級 |
INSTALL_MODE_AUTO | 2 | 自動升級 |
NewVersionStatus
新版本檢測狀態(tài)。
系統(tǒng)能力 :以下各項對應的系統(tǒng)能力均為:SystemCapability.Update.UpdateService
參數(shù)名 | 默認值 | 說明 |
---|---|---|
VERSION_STATUS_ERR | -1 | 檢測版本時出錯 |
VERSION_STATUS_NEW | 0 | 檢測到新版本 |
VERSION_STATUS_NONE | 1 | 沒有檢測到新版本 |
VERSION_STATUS_BUSY | 2 | 檢測版本時忙 |
UpdatePolicy
升級策略。
系統(tǒng)能力 :以下各項對應的系統(tǒng)能力均為:SystemCapability.Update.UpdateService
名稱 | 參數(shù)類型 | 必填 | 說明 |
---|---|---|---|
autoDownload | bool | 是 | 自動升級開關 |
installMode | [InstallMode] | 是 | 安裝模式 |
autoUpgradeInterval | Array | 是 | 自動升級時間段 |
NewVersionInfo
新版本信息。
系統(tǒng)能力 :以下各項對應的系統(tǒng)能力均為:SystemCapability.Update.UpdateService
名稱 | 參數(shù)類型 | 必填 | 說明 |
---|---|---|---|
status | [NewVersionStatus] | 是 | 升級狀態(tài) |
errMsg | string | 是 | 錯誤信息 |
checkResults | Array<[CheckResult]> | 是 | 檢測結果 |
descriptionInfo | Array<[DescriptionInfo]> | 是 | 描述信息 |
CheckResult
檢測結果。
系統(tǒng)能力 :以下各項對應的系統(tǒng)能力均為:SystemCapability.Update.UpdateService
名稱 | 參數(shù)類型 | 必填 | 說明 |
---|---|---|---|
versionName | string | 是 | 版本名稱 |
versionCode | number | 是 | 版本編碼 |
size | number | 是 | 版本大小 |
verifyInfo | string | 是 | 版本校驗信息 |
packageType | [PackageTypes] | 是 | 版本類型 |
descriptionId | string | 是HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 | 版本描述信息 |
DescriptionInfo
版本描述信息。
系統(tǒng)能力 :以下各項對應的系統(tǒng)能力均為:SystemCapability.Update.UpdateService
名稱 | 參數(shù)類型 | 必填 | 說明 |
---|---|---|---|
descriptionId | string | 是 | 版本versionId信息 |
content | string | 是 | 版本changelog信息 |
審核編輯 黃宇
-
鴻蒙
+關注
關注
57文章
2313瀏覽量
42748
發(fā)布評論請先 登錄
相關推薦
評論