@ohos.app.ability.quickFixManager (quickFixManager)
The quickFixManager module provides APIs for quick fix. With quick fix, you can fix bugs in your application by applying patches, which is more efficient than by updating the entire application.
NOTE
The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version. The APIs of this module are system APIs and cannot be called by third-party applications.
Modules to Import
import quickFixManager from '@ohos.app.ability.quickFixManager';
HapModuleQuickFixInfo
Defines the quick fix information at the HAP file level.
System capability: SystemCapability.Ability.AbilityRuntime.QuickFix
System API: This is a system API and cannot be called by third-party applications.
Name | Type | Read-only | Mandatory | Description |
---|---|---|---|---|
moduleName | string | Yes | Yes | Name of the HAP file. |
originHapHash | string | Yes | Yes | Hash value of the HAP file. |
quickFixFilePath | string | Yes | Yes | Installation path of the quick fix patch file. |
ApplicationQuickFixInfo
Defines the quick fix information at the application level.
System capability: SystemCapability.Ability.AbilityRuntime.QuickFix
System API: This is a system API and cannot be called by third-party applications.
Name | Type | Read-only | Mandatory | Description |
---|---|---|---|---|
bundleName | string | Yes | Yes | Bundle name. |
bundleVersionCode | number | Yes | Yes | Internal version number of the application. |
bundleVersionName | string | Yes | Yes | Version number of the application that is shown to users. |
quickFixVersionCode | number | Yes | Yes | Version code of the quick fix patch package. |
quickFixVersionName | string | Yes | Yes | Text description of the version number of the quick fix patch package. |
hapModuleQuickFixInfo | Array<HapModuleQuickFixInfo> | Yes | Yes | Quick fix information at the HAP file level. |
quickFixManager.applyQuickFix
applyQuickFix(hapModuleQuickFixFiles: Array<string>, callback: AsyncCallback<void>): void;
Applies a quick fix patch. This API uses an asynchronous callback to return the result.
Required permissions: ohos.permission.INSTALL_BUNDLE
System capability: SystemCapability.Ability.AbilityRuntime.QuickFix
System API: This is a system API and cannot be called by third-party applications.
Parameters
Parameter | Type | Mandatory | Description |
---|---|---|---|
hapModuleQuickFixFiles | Array<string> | Yes | Quick fix patch files, each of which must contain a valid file path. |
callback | AsyncCallback<void> | Yes | Callback used to return the result. |
Error codes
If an error occurs during patch installation, the error code and message are returned through the common event COMMON_EVENT_QUICK_FIX_APPLY_RESULT.
ID | Error Message |
---|---|
18500002 | The specified quick fix is invalid. It may not exist or inaccessible. |
18500008 | Internal error. |
For details about the error codes, see Ability Error Codes.
NOTE
The file path passed in the API must be an application sandbox path. For details about how to obtain the sandbox path, see Obtaining the Sandbox Path. The path mapped to the device is /proc/<applicationProcessId>/root/sandboxPath.
Example
import quickFixManager from '@ohos.app.ability.quickFixManager';
try {
let hapModuleQuickFixFiles = ['/data/storage/el2/base/entry.hqf'];
quickFixManager.applyQuickFix(hapModuleQuickFixFiles, (error) => {
if (error) {
console.error( `applyQuickFix failed with error: ${error}`);
} else {
console.info( 'applyQuickFix success');
}
});
} catch (paramError) {
console.error(`error.code: ${paramError.code}, error.message: ${paramError.message}`);
}
quickFixManager.applyQuickFix
applyQuickFix(hapModuleQuickFixFiles: Array<string>): Promise<void>;
Applies a quick fix patch. This API uses a promise to return the result.
Required permissions: ohos.permission.INSTALL_BUNDLE
System capability: SystemCapability.Ability.AbilityRuntime.QuickFix
System API: This is a system API and cannot be called by third-party applications.
Parameters
Parameter | Type | Mandatory | Description |
---|---|---|---|
hapModuleQuickFixFiles | Array<string> | Yes | Quick fix patch files, each of which must contain a valid file path. |
Return value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. |
Error codes
If an error occurs during patch installation, the error code and message are returned through the common event COMMON_EVENT_QUICK_FIX_APPLY_RESULT.
ID | Error Message |
---|---|
18500002 | The specified quick fix is invalid. It may not exist or inaccessible. |
18500008 | Internal error. |
For details about the error codes, see Ability Error Codes.
Example
import quickFixManager from '@ohos.app.ability.quickFixManager';
import { BusinessError } from '@ohos.base';
let hapModuleQuickFixFiles = ['/data/storage/el2/base/entry.hqf'];
try {
quickFixManager.applyQuickFix(hapModuleQuickFixFiles).then(() => {
console.info('applyQuickFix success');
}).catch((error: BusinessError) => {
console.error(`applyQuickFix err: ${error}`);
});
} catch (paramError) {
console.error(`error: ${paramError.code}, ${paramError.message}`);
}
quickFixManager.getApplicationQuickFixInfo
getApplicationQuickFixInfo(bundleName: string, callback: AsyncCallback<ApplicationQuickFixInfo>): void;
Obtains the quick fix information of the application. This API uses an asynchronous callback to return the result.
Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
System capability: SystemCapability.Ability.AbilityRuntime.QuickFix
System API: This is a system API and cannot be called by third-party applications.
Parameters
Parameter | Type | Mandatory | Description |
---|---|---|---|
bundleName | string | Yes | Bundle name. |
callback | AsyncCallback<ApplicationQuickFixInfo> | Yes | Callback used to return the quick fix information. |
Error codes
ID | Error Message |
---|---|
18500001 | The specified bundleName is invalid. |
18500008 | Internal error. |
For details about the error codes, see Ability Error Codes.
Example
import quickFixManager from '@ohos.app.ability.quickFixManager';
try {
let bundleName = 'bundleName';
quickFixManager.getApplicationQuickFixInfo(bundleName, (error, data) => {
if (error) {
console.error(`getApplicationQuickFixInfo error: ${error}`);
} else {
console.info(`getApplicationQuickFixInfo success: ${data}`);
}
});
} catch (paramError) {
console.error(`error: ${paramError.code}, ${paramError.message}`);
}
quickFixManager.getApplicationQuickFixInfo
getApplicationQuickFixInfo(bundleName: string): Promise<ApplicationQuickFixInfo>;
Obtains the quick fix information of the application. This API uses a promise to return the result.
Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED
System capability: SystemCapability.Ability.AbilityRuntime.QuickFix
System API: This is a system API and cannot be called by third-party applications.
Parameters
Parameter | Type | Mandatory | Description |
---|---|---|---|
bundleName | string | Yes | Bundle name. |
Return value
Type | Description |
---|---|
Promise<ApplicationQuickFixInfo> | Promise used to return the quick fix information. |
Error codes
ID | Error Message |
---|---|
18500001 | The specified bundleName is invalid. |
18500008 | Internal error. |
For details about the error codes, see Ability Error Codes.
Example
import quickFixManager from '@ohos.app.ability.quickFixManager';
import { BusinessError } from '@ohos.base';
try {
let bundleName = 'bundleName';
quickFixManager.getApplicationQuickFixInfo(bundleName).then((data) => {
console.info(`getApplicationQuickFixInfo success: ${data}`);
}).catch((error: BusinessError) => {
console.error(`getApplicationQuickFixInfo err: ${error}`);
});
} catch (paramError) {
console.error(`error: ${paramError.code}, ${paramError.message}`);
}
quickFixManager.revokeQuickFix10+
revokeQuickFix(bundleName: string, callback: AsyncCallback<void>): void;
Revokes quick fix. This API uses an asynchronous callback to return the result.
Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED and ohos.permission.INSTALL_BUNDLE
System capability: SystemCapability.Ability.AbilityRuntime.QuickFix
System API: This is a system API and cannot be called by third-party applications.
Parameters
Parameter | Type | Mandatory | Description |
---|---|---|---|
bundleName | string | Yes | Name of the bundle for which the patch needs to be revoked. |
callback | AsyncCallback<void> | Yes | Callback used to return the result. |
Error codes
ID | Error Message |
---|---|
18500001 | The bundle is not exist or no patch has applied. |
18500009 | The application has a apply quick fix task that is being processed. |
If an error occurs during patch installation, the error code and message are returned through the common event COMMON_EVENT_QUICK_FIX_REVOKE_RESULT.
Example
import quickFixManager from '@ohos.app.ability.quickFixManager';
let bundleName = "com.example.myapplication";
quickFixManager.revokeQuickFix(bundleName, (err) => {
console.info("revokeQuickFix " + bundleName + " " + JSON.stringify(err));
});
quickFixManager.revokeQuickFix10+
revokeQuickFix(bundleName: string): Promise<void>;
Revokes quick fix. This API uses a promise to return the result.
Required permissions: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED and ohos.permission.INSTALL_BUNDLE
System capability: SystemCapability.Ability.AbilityRuntime.QuickFix
System API: This is a system API and cannot be called by third-party applications.
Parameters
Parameter | Type | Mandatory | Description |
---|---|---|---|
bundleName | string | Yes | Name of the bundle for which the patch needs to be revoked. |
Return value
Type | Description |
---|---|
Promise<void> | Promise used to return the result. |
Error codes
For details about the error codes, see Ability Error Codes.
ID | Error Message |
---|---|
18500001 | The bundle is not exist or no patch has applied. |
18500009 | The application has a apply quick fix task that is being processed. |
If an error occurs during patch installation, the error code and message are returned through the common event COMMON_EVENT_QUICK_FIX_REVOKE_RESULT. The table below lists the possible error codes and messages.
Example
import quickFixManager from '@ohos.app.ability.quickFixManager';
import { BusinessError } from '@ohos.base';
let bundleName = "com.example.myapplication";
quickFixManager.revokeQuickFix(bundleName).then(() => {
console.info("revokeQuickFix " + bundleName +" ok");
}).catch((err: BusinessError) => {
console.info("revokeQuickFix " + bundleName +" failed, error code is ", JSON.stringify((err)));
});