1# SDK子系统Changelog
2
3## cl.sdk.1 FA/Stage模型应用使用仅Stage/FA模型可用接口告警级别提升
4
5**变更原因**
6
7FA/Stage模型中不允许使用仅Stage/FA模型可用接口,应对异常场景进行编译拦截。
8
9**变更影响**
10
11影响应用编译行为。
12
13***变更前:***
14
15FA模型中使用仅Stage模型可用接口做应用编译时,给出warn类型告警,提示内容如下:
16
17"This API is used only in Stage Mode, but the current Mode is FA."
18
19Stage模型中使用仅FA模型可用接口做应用编译时,给出warn类型告警,提示内容如下:
20
21"This API is used only in FA Mode, but the current Mode is Stage."
22
23***变更后:***
24
25FA模型中使用仅Stage模型可用接口做应用编译时,给出error类型告警,提示内容如下:
26
27"This API is used only in Stage Mode, but the current Mode is FA."
28
29Stage模型中使用仅FA模型可用接口做应用编译时,给出error类型告警,提示内容如下:
30
31"This API is used only in FA Mode, but the current Mode is Stage."
32
33**起始 API Level**
34
3512
36
37**变更发生版本**
38
39从OpenHarmony SDK 5.0.0.24开始。
40
41**变更的接口/组件**
42
43此变更仅影响编译行为,涉及到的接口及其替换用接口参考[《API模型转换清单》](./api-model-switch.md)
44
45**适配指导**
46
47若由于FA/Stage模型应用使用仅Stage/FA模型可用接口,导致应用编译报错,可参考如下修改方式:
48
49根据当前报错接口信息,在[《API模型转换清单》](./api-model-switch.md)中查找报错接口,查看该接口在Stage模型下是否存在可替换接口
50
51**场景一:仅FA/Stage模型可用接口在Stage/FA模型中存在可替换接口**
52
53错误示例:
54
55```ts
56// 当前工程为Stage模型
57import featureAbility from '@ohos.ability.featureAbility';
58
59let context: featureAbility.Context = featureAbility.getContext().getApplicationContext();
60```
61
62正确示例:
63
64```ts
65// 当前工程为Stage模型
66import UIAbility from '@ohos.app.ability.UIAbility';
67import common from '@ohos.app.ability.common';
68
69export default class EntryAbility extends UIAbility {
70  onCreate() {
71    console.log('MyAbility onCreate');
72    let applicationContext: common.Context;
73    try {
74      applicationContext = this.context.getApplicationContext();
75    } catch (error) {
76      console.error(`getApplicationContext failed, error.code: ${error.code}, error.message: ${error.message}`);
77    }
78  }
79}
80```
81
82**场景二:仅FA/Stage模型可用接口在Stage/FA模型中无意义(即无可替代接口),删除相关错误接口调用代码即可。**
83