• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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/&lt;应用进程Id&gt;/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