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