1# @ohos.app.ability.quickFixManager (quickFixManager) 2 3quickFixManager模块提供快速修复的能力,快速修复是OpenHarmony提供给开发者的一种技术手段,支持开发者以远快于(小时级、分钟级)应用升级的方式进行缺陷修复。 4 5> **说明:** 6> 7> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 8 9## 导入模块 10 11```ts 12import quickFixManager from '@ohos.app.ability.quickFixManager'; 13``` 14 15## HapModuleQuickFixInfo 16 17hap级别的快速修复信息。 18 19**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.QuickFix 20 21**系统API**: 此接口为系统接口,三方应用不支持调用。 22 23| 名称 | 类型 | 必填 | 说明 | 24| ----------- | -------------------- | ---- | ------------------------------------------------------------ | 25| moduleName | string | 是 | hap包的名称。 | 26| originHapHash | string | 是 | 指示hap的哈希值。 | 27| quickFixFilePath | string | 是 | 指示快速修复文件的安装路径。 | 28 29## ApplicationQuickFixInfo 30 31应用级别的快速修复信息。 32 33**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.QuickFix 34 35**系统API**: 此接口为系统接口,三方应用不支持调用。 36 37| 名称 | 类型 | 必填 | 说明 | 38| ----------- | -------------------- | ---- | ------------------------------------------------------------ | 39| bundleName | string | 是 | 应用的包名。 | 40| bundleVersionCode | number | 是 | 应用的版本号。 | 41| bundleVersionName | string | 是 | 应用版本号的文字描述。 | 42| quickFixVersionCode | number | 是 | 快速修复补丁包的版本号。 | 43| quickFixVersionName | string | 是 | 快速修复补丁包版本号的文字描述。 | 44| hapModuleQuickFixInfo | Array\<[HapModuleQuickFixInfo](#hapmodulequickfixinfo)> | 是 | hap级别的快速修复信息。 | 45 46## quickFixManager.applyQuickFix 47 48applyQuickFix(hapModuleQuickFixFiles: Array\<string>, callback: AsyncCallback\<void>): void; 49 50快速修复的补丁安装接口。 51 52**需要权限**: ohos.permission.INSTALL_BUNDLE 53 54**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.QuickFix 55 56**系统API**: 此接口为系统接口,三方应用不支持调用。 57 58**参数:** 59 60 | 参数名 | 类型 | 必填 | 说明 | 61 | -------- | -------- | -------- | -------- | 62 | hapModuleQuickFixFiles | Array\<string> | 是 | 快速修复补丁文件(补丁文件需包含有效的文件路径)。 | 63 | callback | AsyncCallback\<void> | 是 | 表示指定的回调方法。 | 64 65> 说明:调用applyQuickFix接口时,补丁文件所在路径为应用沙箱路径。沙箱路径的获取参考[获取应用的沙箱路径](js-apis-bundle-BundleInstaller.md#获取应用的沙箱路径),映射到设备上的路径为/proc/<应用进程Id>/root/沙箱路径。 66 67**示例:** 68 69```ts 70 import quickFixManager from '@ohos.app.ability.quickFixManager'; 71 72 try { 73 let hapModuleQuickFixFiles = ['/data/storage/el2/base/entry.hqf']; 74 quickFixManager.applyQuickFix(hapModuleQuickFixFiles, (error) => { 75 if (error) { 76 console.info( `applyQuickFix failed with error + ${error}`); 77 } else { 78 console.info( 'applyQuickFix success'); 79 } 80 }); 81 } catch (paramError) { 82 console.log('error: ' + paramError.code + ', ' + paramError.message); 83 } 84``` 85 86## quickFixManager.applyQuickFix 87 88applyQuickFix(hapModuleQuickFixFiles: Array\<string>): Promise\<void>; 89 90快速修复的补丁安装接口。 91 92**需要权限**: ohos.permission.INSTALL_BUNDLE 93 94**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.QuickFix 95 96**系统API**: 此接口为系统接口,三方应用不支持调用。 97 98**参数:** 99 100 | 参数名 | 类型 | 必填 | 说明 | 101 | -------- | -------- | -------- | -------- | 102 | hapModuleQuickFixFiles | Array\<string> | 是 | 快速修复补丁文件(补丁文件需包含有效的文件路径)。 | 103 104**返回值:** 105 106 | 类型 | 说明 | 107 | -------- | -------- | 108 | Promise\<void> | 返回相应结果。 | 109 110**示例:** 111 112```ts 113 import quickFixManager from '@ohos.app.ability.quickFixManager'; 114 115 let hapModuleQuickFixFiles = ['/data/storage/el2/base/entry.hqf']; 116 try { 117 quickFixManager.applyQuickFix(hapModuleQuickFixFiles).then(() => { 118 console.info('applyQuickFix success'); 119 }).catch((error) => { 120 console.info(`applyQuickFix err: + ${error}`); 121 }); 122 } catch (paramError) { 123 console.log('error: ' + paramError.code + ', ' + paramError.message); 124 } 125``` 126 127## quickFixManager.getApplicationQuickFixInfo 128 129getApplicationQuickFixInfo(bundleName: string, callback: AsyncCallback\<ApplicationQuickFixInfo>): void; 130 131获取应用的快速修复信息。 132 133**需要权限**: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 134 135**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.QuickFix 136 137**系统API**: 此接口为系统接口,三方应用不支持调用。 138 139**参数:** 140 141 | 参数名 | 类型 | 必填 | 说明 | 142 | -------- | -------- | -------- | -------- | 143 | bundleName | string | 是 |应用的包名。 | 144 | callback | AsyncCallback\<[ApplicationQuickFixInfo](#applicationquickfixinfo)> | 是 | 应用的快速修复信息。 | 145 146**示例:** 147 148```ts 149 import quickFixManager from '@ohos.app.ability.quickFixManager'; 150 151 try { 152 let bundleName = 'bundleName' 153 quickFixManager.getApplicationQuickFixInfo(bundleName, (error, data) => { 154 if (error) { 155 console.info(`getApplicationQuickFixInfo error: + ${error}`); 156 } else { 157 console.info(`getApplicationQuickFixInfo success: + ${data}`); 158 } 159 }); 160 } catch (paramError) { 161 console.log('error: ' + paramError.code + ', ' + paramError.message); 162 } 163``` 164 165## quickFixManager.getApplicationQuickFixInfo 166 167getApplicationQuickFixInfo(bundleName: string): Promise\<ApplicationQuickFixInfo>; 168 169获取应用的快速修复信息。 170 171**需要权限**: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED 172 173**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.QuickFix 174 175**系统API**: 此接口为系统接口,三方应用不支持调用。 176 177**参数:** 178 179 | 参数名 | 类型 | 必填 | 说明 | 180 | -------- | -------- | -------- | -------- | 181 | bundleName | string | 是 | 应用的包名。 | 182 183**返回值:** 184 185 | 类型 | 说明 | 186 | -------- | -------- | 187 | Promise\<[ApplicationQuickFixInfo](#applicationquickfixinfo)> | 返回应用的快速修复信息。 | 188 189**示例:** 190 191 ```ts 192 import quickFixManager from '@ohos.app.ability.quickFixManager'; 193 194 try { 195 let bundleName = 'bundleName'; 196 quickFixManager.getApplicationQuickFixInfo(bundleName).then((data) => { 197 console.info(`getApplicationQuickFixInfo success: + ${data}`); 198 }).catch((error) => { 199 console.info(`getApplicationQuickFixInfo err: + ${error}`); 200 }); 201 } catch (paramError) { 202 console.log('error: ' + paramError.code + ', ' + paramError.message); 203 } 204``` 205