js-apis-app-ability-quickFixManager.md 7.0 KB
Newer Older
Z
zengyawen 已提交
1
# @ohos.app.ability.quickFixManager (quickFixManager)
Y
yuyaozhi 已提交
2

Y
yuyaozhi 已提交
3
quickFixManager模块提供快速修复的能力,快速修复是OpenHarmony提供给开发者的一种技术手段,支持开发者以远快于(小时级、分钟级)应用升级的方式进行缺陷修复。
Y
yuyaozhi 已提交
4 5 6 7 8 9 10

> **说明:**
> 
> 本模块首批接口从API version 9 开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

## 导入模块

M
m00512953 已提交
11
```ts
D
donglin 已提交
12
import quickFixManager from '@ohos.app.ability.quickFixManager';
Y
yuyaozhi 已提交
13 14 15 16 17 18 19 20 21 22
```

## HapModuleQuickFixInfo

hap级别的快速修复信息。

**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.QuickFix

**系统API**: 此接口为系统接口,三方应用不支持调用。

23 24
| 名称        | 类型                 | 必填 | 说明                                                         |
| ----------- | -------------------- | ---- | ------------------------------------------------------------ |
25
| moduleName    | string               | 是   | HAP的名称。                               |
26 27
| originHapHash    | string               | 是   | 指示hap的哈希值。                               |
| quickFixFilePath    | string               | 是   | 指示快速修复文件的安装路径。                               |
Y
yuyaozhi 已提交
28 29 30 31 32 33 34 35 36

## ApplicationQuickFixInfo

应用级别的快速修复信息。

**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.QuickFix

**系统API**: 此接口为系统接口,三方应用不支持调用。

37 38
| 名称        | 类型                 | 必填 | 说明                                                         |
| ----------- | -------------------- | ---- | ------------------------------------------------------------ |
39
| bundleName    | string               | 是   | 应用Bundle名称。                       |
40 41 42 43 44
| bundleVersionCode    | number               | 是   | 应用的版本号。                               |
| bundleVersionName    | string               | 是   | 应用版本号的文字描述。                               |
| quickFixVersionCode    | number               | 是   | 快速修复补丁包的版本号。                               |
| quickFixVersionName    | string               | 是   | 快速修复补丁包版本号的文字描述。                               |
| hapModuleQuickFixInfo    | Array\<[HapModuleQuickFixInfo](#hapmodulequickfixinfo)>      | 是   | hap级别的快速修复信息。     |
Y
yuyaozhi 已提交
45 46 47 48 49 50 51

## quickFixManager.applyQuickFix

applyQuickFix(hapModuleQuickFixFiles: Array\<string>, callback: AsyncCallback\<void>): void;

快速修复的补丁安装接口。

52 53
**需要权限**: ohos.permission.INSTALL_BUNDLE

Y
yuyaozhi 已提交
54 55 56 57 58 59 60 61
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.QuickFix

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

  | 参数名 | 类型 | 必填 | 说明 | 
  | -------- | -------- | -------- | -------- |
D
fix  
donglin 已提交
62 63
  | hapModuleQuickFixFiles | Array\<string> | 是 | 快速修复补丁文件(补丁文件需包含有效的文件路径)。 | 
  | callback | AsyncCallback\<void> | 是 | 表示指定的回调方法。 | 
Y
yuyaozhi 已提交
64 65 66

**示例:**
    
M
m00512953 已提交
67
```ts
D
donglin 已提交
68 69 70
  try {
    let hapModuleQuickFixFiles = ["/data/storage/el2/base/entry.hqf"]
    quickFixManager.applyQuickFix(hapModuleQuickFixFiles, (error) => {
Y
yuyaozhi 已提交
71 72 73 74 75
      if (error) {
          console.info( `applyQuickFix failed with error + ${error}`)
      } else {
          console.info( 'applyQuickFix success')
      }
D
donglin 已提交
76 77 78 79
    })
  } catch (paramError) {
    console.log("error: " + paramError.code + ", " + paramError.message);
  }
Y
yuyaozhi 已提交
80 81 82 83
```

## quickFixManager.applyQuickFix

84
applyQuickFix(hapModuleQuickFixFiles: Array\<string>): Promise\<void>;
Y
yuyaozhi 已提交
85 86 87

快速修复的补丁安装接口。

88 89
**需要权限**: ohos.permission.INSTALL_BUNDLE

Y
yuyaozhi 已提交
90 91 92 93 94 95 96 97
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.QuickFix

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

  | 参数名 | 类型 | 必填 | 说明 | 
  | -------- | -------- | -------- | -------- |
D
fix  
donglin 已提交
98
  | hapModuleQuickFixFiles | Array\<string> | 是 | 快速修复补丁文件(补丁文件需包含有效的文件路径)。 | 
Y
yuyaozhi 已提交
99 100 101 102 103 104 105 106 107

**返回值:**

  | 类型 | 说明 | 
  | -------- | -------- |
  | Promise\<void> | 返回相应结果。 | 

**示例:**
    
M
m00512953 已提交
108
```ts
Y
yuyaozhi 已提交
109
  let hapModuleQuickFixFiles = ["/data/storage/el2/base/entry.hqf"]
D
donglin 已提交
110 111 112 113 114 115 116 117 118
  try {
    quickFixManager.applyQuickFix(hapModuleQuickFixFiles).then(() => {
      console.info('applyQuickFix success')
    }).catch((error) => {
      console.info(`applyQuickFix err: + ${error}`)
    })
  } catch (paramError) {
    console.log("error: " + paramError.code + ", " + paramError.message);
  }
Y
yuyaozhi 已提交
119 120 121 122 123 124 125 126
```

## quickFixManager.getApplicationQuickFixInfo

getApplicationQuickFixInfo(bundleName: string, callback: AsyncCallback\<ApplicationQuickFixInfo>): void;

获取应用的快速修复信息。

127 128
**需要权限**: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

Y
yuyaozhi 已提交
129 130 131 132 133 134
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.QuickFix

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

135 136 137 138
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 是 |应用Bundle名称。  |
| callback | AsyncCallback\<[ApplicationQuickFixInfo](#applicationquickfixinfo)> | 是 | 应用的快速修复信息。 |
Y
yuyaozhi 已提交
139 140 141

**示例:**
    
M
m00512953 已提交
142
```ts
D
donglin 已提交
143 144 145 146 147 148 149 150 151 152 153 154
  try {
    let bundleName = "bundleName"
    quickFixManager.getApplicationQuickFixInfo(bundleName, (error, data) => {
      if (error) {
        console.info(`getApplicationQuickFixInfo error: + ${error}`)
      } else {
        console.info(`getApplicationQuickFixInfo success: + ${data}`)
      }
    })
  } catch (paramError) {
    console.log("error: " + paramError.code + ", " + paramError.message);
  }  
Y
yuyaozhi 已提交
155 156 157 158 159 160 161 162
```

## quickFixManager.getApplicationQuickFixInfo

getApplicationQuickFixInfo(bundleName: string): Promise\<ApplicationQuickFixInfo>;

获取应用的快速修复信息。

163 164
**需要权限**: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

Y
yuyaozhi 已提交
165 166 167 168 169 170
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.QuickFix

**系统API**: 此接口为系统接口,三方应用不支持调用。

**参数:**

171 172 173
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| bundleName | string | 是 | 应用Bundle名称。 |
Y
yuyaozhi 已提交
174 175 176 177 178 179 180 181 182

**返回值:**

  | 类型 | 说明 | 
  | -------- | -------- |
  | Promise\<[ApplicationQuickFixInfo](#applicationquickfixinfo)> | 返回应用的快速修复信息。 | 

**示例:**
    
M
m00512953 已提交
183
  ```ts 
D
donglin 已提交
184 185 186 187 188 189 190 191 192 193
  try {
    let bundleName = "bundleName"
    quickFixManager.getApplicationQuickFixInfo(bundleName).then((data) => {
      console.info(`getApplicationQuickFixInfo success: + ${data}`)
    }).catch((error) => {
      console.info(`getApplicationQuickFixInfo err: + ${error}`)
    })
  } catch (paramError) {
    console.log("error: " + paramError.code + ", " + paramError.message);
  }
194
  ```