Update
NOTE The initial APIs of this module are supported since API version 6. Newly added APIs will be marked with a superscript to indicate their earliest API version.
The Update module applies to updates throughout the entire system, including built-in resources and preset applications, but not third-party applications.
There are two types of updates: SD card update and over the air (OTA) update.
- The SD card update depends on the update packages and SD cards.
- The OTA update depends on the server deployed by the device manufacturer for managing update packages. The OTA server IP address is passed by the caller. The request interface is fixed and developed by the device manufacturer.
Modules to Import
import update from '@ohos.update'
Required Permissions
None
update.getUpdater
getUpdater(upgradeFile: string, updateType?: UpdateTypes): Updater
Obtains the Updater object for local update.
System capability: SystemCapability.Update.UpdateService
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
upgradeFile | string | Yes | Update file. |
updateType | UpdateTypes | Yes | Update type. |
Return value
Type | Description |
---|---|
Updater | Updater object. |
Example
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
Obtains the Updater object for the device to be updated.
System capability: SystemCapability.Update.UpdateService
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
upgradeFile | string | Yes | Update file. |
device | string | Yes | Device to be updated. |
updateType | UpdateTypes | Yes | Update type. |
Return value
Type | Description |
---|---|
Updater | Updater object. |
Example
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
Obtains the Updater object from another device for the device to be updated.
System capability: SystemCapability.Update.UpdateService
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
upgradeFile | string | Yes | Update file. |
device | string | Yes | Device to be updated. |
updateType | UpdateTypes | Yes | Update type. |
Return value
Type | Description |
---|---|
Updater | Updater object. |
Example
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<NewVersionInfo>): void
Obtains the new version information. This function uses an asynchronous callback to return the result.
System capability: SystemCapability.Update.UpdateService
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<NewVersionInfo> | No | Callback used to return the new version information. |
Example
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<NewVersionInfo>
Obtains the new version information. This function uses a promise to return the result.
System capability: SystemCapability.Update.UpdateService
Return value
Type | Description |
---|---|
Promise<NewVersionInfo> | Promise used to return the new version information. |
Example
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<NewVersionInfo>): void
Checks whether the current version is the latest. This function uses an asynchronous callback to return the result.
System capability: SystemCapability.Update.UpdateService
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<NewVersionInfo> | No | Callback used to return the new version information. |
Example
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<NewVersionInfo>
Checks whether the current version is the latest. This function uses a promise to return the result.
System capability: SystemCapability.Update.UpdateService
Return value
Type | Description |
---|---|
Promise<NewVersionInfo> | Promise used to return the new version information. |
Example
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
Verifies whether the update package is valid.
System capability: SystemCapability.Update.UpdateService
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
upgradeFile | string | Yes | Path of the update package to be verified. |
certsFile | string | Yes | Certificate path. |
Example
updater.on("verifyProgress", callback => {
console.info('on verifyProgress ' + callback.percent);
});
update.verifyUpdatePackage("XXX", "XXX");
rebootAndCleanUserData8+
rebootAndCleanUserData(): Promise<number>
Reboots the device and clears the user partition data. This function uses a promise to return the result.
System capability: SystemCapability.Update.UpdateService
Return value
Type | Description |
---|---|
Promise<number> | Promise used to return the execution result. |
Example
updater.rebootAndCleanUserData().then(result => {
console.log("rebootAndCleanUserData " + result);
}).catch(err => {
console.info("rebootAndCleanUserData promise error: " + err.code);
});
rebootAndCleanUserData8+
rebootAndCleanUserData(callback: AsyncCallback<number>): void
Reboots the device and clears the user partition data. This function uses a promise to return the result.
System capability: SystemCapability.Update.UpdateService
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<number> | Yes | Callback used to return the execution result. |
Example
updater.rebootAndCleanUserData((err, result) => {
console.log("rebootAndCleanUserData ", result)
});
applyNewVersion
applyNewVersion(): Promise<number>
Installs the update package. This function uses a promise to return the result.
System capability: SystemCapability.Update.UpdateService
Return value
Type | Description |
---|---|
Promise<number> | Promise used to return the execution result. |
Example
updater.applyNewVersion().then(result => {
console.log("appVewVersion ", result)
}).catch(err => {
console.info("applyNewVersion promise error: " + err.code);
});
applyNewVersion
applyNewVersion(callback: AsyncCallback<number>): void
Installs the update package. This function uses a promise to return the result.
System capability: SystemCapability.Update.UpdateService
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<number> | Yes | Callback used to return the execution result. |
Example
updater.applyNewVersion((err, result) => {
console.log("applyNewVersion ", result)
});
download
download(): void
Downloads the new version and displays the download process.
System capability: SystemCapability.Update.UpdateService
Example
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
Starts an update.
System capability: SystemCapability.Update.UpdateService
Example
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<number>): void
Sets the update policy. This function uses an asynchronous callback to return the result.
System capability: SystemCapability.Update.UpdateService
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
policy | UpdatePolicy | Yes | Update policy to set. |
callback | Callback used to return the execution result. | Yes | Callback used to return the execution result. |
Example
// Set the update policy.
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<number>
Sets the update policy. This function uses a promise to return the result.
System capability: SystemCapability.Update.UpdateService
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
policy | UpdatePolicy | Yes | Update policy to set. |
Return value
Type | Description |
---|---|
Promise<number> | Promise used to return the execution result. |
Example
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<UpdatePolicy>): void
Obtains the update policy. This function uses an asynchronous callback to return the result.
System capability: SystemCapability.Update.UpdateService
Parameters
Name | Type | Mandatory | Description |
---|---|---|---|
callback | AsyncCallback<UpdatePolicy> | No | Callback used to return the update policy. |
Example
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<UpdatePolicy>
Obtains the update policy. This function uses a promise to return the result.
System capability: SystemCapability.Update.UpdateService
Return value
Type | Description |
---|---|
Promise<UpdatePolicy> | Promise used to return the update policy. |
Example
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
Enumerates update types.
System capability: SystemCapability.Update.UpdateService
Name | Description |
---|---|
OTA | OTA update. |
patch | Patch update. |
PackageTypes
Enumerates update package types.
System capability: SystemCapability.Update.UpdateService
Name | Default Value | Description |
---|---|---|
PACKAGE_TYPE_NORMAL | 1 | Common update package. |
PACKAGE_TYPE_BASE | 2 | Basic update package. |
PACKAGE_TYPE_CUST | 3 | Custom update package. |
PACKAGE_TYPE_PRELOAD | 4 | Preinstalled update package. |
PACKAGE_TYPE_COTA | 5 | Parameter configuration update package. |
PACKAGE_TYPE_VERSION | 6 | Version update package. |
PACKAGE_TYPE_PATCH | 7 | Patch package. |
InstallMode
Enumerates update modes.
System capability: SystemCapability.Update.UpdateService
Name | Default Value | Description |
---|---|---|
INSTALL_MODE_NORMAL | 0 | Normal update. |
INSTALL_MODE_NIGHT | 1 | Update at night. |
INSTALL_MODE_AUTO | 2 | Automatic update. |
NewVersionStatus
Enumerates new version check results.
System capability: SystemCapability.Update.UpdateService
Name | Default Value | Description |
---|---|---|
VERSION_STATUS_ERR | -1 | System error while checking for the new version. |
VERSION_STATUS_NEW | 0 | New version detected. |
VERSION_STATUS_NONE | 1 | No new version detected. |
VERSION_STATUS_BUSY | 2 | System busy while checking for the new version. |
UpdatePolicy
Defines the update policy.
System capability: SystemCapability.Update.UpdateService
Name | Type | Mandatory | Description |
---|---|---|---|
autoDownload | bool | Yes | Automatic update switch. |
installMode | InstallMode | Yes | Update mode. |
autoUpgradeInterval | Array<number> | Yes | Period of time for automatic update. |
NewVersionInfo
Defines the new version information.
System capability: SystemCapability.Update.UpdateService
Name | Type | Mandatory | Description |
---|---|---|---|
status | NewVersionStatus | Yes | Update status. |
errMsg | string | Yes | Error message. |
checkResults | Array<CheckResult> | Yes | Version check result. |
descriptionInfo | Array<DescriptionInfo> | Yes | Version description information. |
CheckResult
Defines the version check result.
System capability: SystemCapability.Update.UpdateService
Name | Type | Mandatory | Description |
---|---|---|---|
versionName | string | Yes | Version name. |
versionCode | number | Yes | Version code. |
size | number | Yes | Version size. |
verifyInfo | string | Yes | Version verification information. |
packageType | PackageTypes | Yes | Version type. |
descriptionId | string | Yes | Version description information. |
DescriptionInfo
Defines the version description information.
System capability: SystemCapability.Update.UpdateService
Name | Type | Mandatory | Description |
---|---|---|---|
descriptionId | string | Yes | Version ID information. |
content | string | Yes | Version changelog information. |