js-apis-app-ability-quickFixManager.md 7.5 KB
Newer Older
Y
yuyaozhi 已提交
1 2
# quickFixManager

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

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

## 导入模块

```
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**: 此接口为系统接口,三方应用不支持调用。

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

## ApplicationQuickFixInfo

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

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

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

D
donglin 已提交
37 38 39 40 41 42 43 44
| 名称        | 可读    | 可写     | 类型                 | 必填 | 说明                                                         |
| ----------- | -------- |-------- | -------------------- | ---- | ------------------------------------------------------------ |
| bundleName    | 是    | 否      | string               | 是   | 应用的包名。                               |
| 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 67

**示例:**
    
```js
D
donglin 已提交
68
  import quickFixManager from '@ohos.app.ability.quickFixManager'
Y
yuyaozhi 已提交
69

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

## quickFixManager.applyQuickFix

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

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

90 91
**需要权限**: ohos.permission.INSTALL_BUNDLE

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

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

**参数:**

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

**返回值:**

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

**示例:**
    
```js
D
donglin 已提交
111
  import quickFixManager from '@ohos.app.ability.quickFixManager'
Y
yuyaozhi 已提交
112 113

  let hapModuleQuickFixFiles = ["/data/storage/el2/base/entry.hqf"]
D
donglin 已提交
114 115 116 117 118 119 120 121 122
  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 已提交
123 124 125 126 127 128 129 130
```

## quickFixManager.getApplicationQuickFixInfo

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

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

131 132
**需要权限**: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

Y
yuyaozhi 已提交
133 134 135 136 137 138 139 140
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.QuickFix

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

**参数:**

  | 参数名 | 类型 | 必填 | 说明 | 
  | -------- | -------- | -------- | -------- |
D
fix  
donglin 已提交
141 142
  | bundleName | string | 是 |应用的包名。  | 
  | callback | AsyncCallback\<[ApplicationQuickFixInfo](#applicationquickfixinfo)> | 是 | 应用的快速修复信息。 | 
Y
yuyaozhi 已提交
143 144 145 146

**示例:**
    
```js
D
donglin 已提交
147
  import quickFixManager from '@ohos.app.ability.quickFixManager'
Y
yuyaozhi 已提交
148

D
donglin 已提交
149 150 151 152 153 154 155 156 157 158 159 160
  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 已提交
161 162 163 164 165 166 167 168
```

## quickFixManager.getApplicationQuickFixInfo

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

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

169 170
**需要权限**: ohos.permission.GET_BUNDLE_INFO_PRIVILEGED

Y
yuyaozhi 已提交
171 172 173 174 175 176 177 178
**系统能力**:以下各项对应的系统能力均为SystemCapability.Ability.AbilityRuntime.QuickFix

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

**参数:**

  | 参数名 | 类型 | 必填 | 说明 | 
  | -------- | -------- | -------- | -------- |
D
fix  
donglin 已提交
179
  | bundleName | string | 是 | 应用的包名。  | 
Y
yuyaozhi 已提交
180 181 182 183 184 185 186 187 188 189

**返回值:**

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

**示例:**
    
  ```js 
D
donglin 已提交
190 191 192 193 194 195 196 197 198 199 200 201
  import quickFixManager from '@ohos.app.ability.quickFixManager'

  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);
  }
Y
yuyaozhi 已提交
202
```