HarmonyOS鸿蒙Next中SyntaxError: the requested module '@hms:ai.AgentFramework' does not provide an export name 'FunctionController'

HarmonyOS鸿蒙Next中SyntaxError: the requested module ‘@hms:ai.AgentFramework’ does not provide an export name ‘FunctionController’

"targetSdkVersion": "6.0.1(21)",
"compatibleSdkVersion": "5.0.0(12)",
"runtimeOS": "HarmonyOS",

import { FunctionComponent, FunctionController, ButtonType } from '@kit.AgentFrameworkKit';

兼容API 12,代码中imnport运行时报错。

使用时做了判断:

async checkAgentSupport() {
  try {
    let context = this.getUIContext()?.getHostContext() as common.UIAbilityContext;
    this.isAgentSupport = await this.controller.isAgentSupport(context, this.agentId)
  } catch (err) {
    hilog.error(0x0001, 'GuanyinLotteryPage', `err code: ${err.code}, message: ${err.message}`)
  }
}

- ArkCompiler: SyntaxError: the requested module '[@hms](/user/hms):ai.AgentFramework' does not provide an export name 'FunctionController' which imported by '&entry/src/main/ets/pages/GuanyinLotteryPage&'

请问这种报错该如何解决?只能提高兼容版本吗?

更多关于HarmonyOS鸿蒙Next中SyntaxError: the requested module '@hms:ai.AgentFramework' does not provide an export name 'FunctionController'的实战教程也可以访问 https://www.itying.com/category-93-b0.html

9 回复

开发者你好,请确认您的DevEco版本号是多少。

更多关于HarmonyOS鸿蒙Next中SyntaxError: the requested module '@hms:ai.AgentFramework' does not provide an export name 'FunctionController'的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


开发者你好,FunctionController是API20版本开始支持的组件控制器,你配置了"targetSdkVersion": “6.0.1(21)”,是支持的,我这边使用同样的products配置,是可以正常编译的。 请问你当前使用的设备是什么,具体是什么版本。

这个是运行时异常,ide和编译器没有任何报错,

开发者你好,当前本地IDE在API23环境下,如果只是import了FunctionController,不会出现编译或者运行时异常,之后再new 了 FunctionController 之后才会出现运行时异常。

  1. 所以需要确认下,你这边如果只是import了,也会出现运行时异常吗?
  2. 当前使用的设备是什么,具体是什么版本。
  3. 方便的话,提供一下当前页面代码分析一下。

你可以试试,import就会报错异常。上面就是5.0机器的报错。,

保持吧

是的,只能提高兼容版本:起始版本: 6.0.0(20)

FunctionComponent(功能组件)-ArkTS组件

该错误表明模块 @hms:ai.AgentFramework 中未定义导出名称 FunctionController。请检查您的导入语句名称拼写是否正确,或确认您使用的 SDK 版本中该 API 是否已被移除或重命名。查看模块的实际导出列表以获取正确的导出名称。

FunctionController 属于 AgentFrameworkKit,该 Kit 从 API 14 起才随系统提供。你的 compatibleSdkVersion 设为 API 12,意味着允许安装在 API 12 设备上,而这些设备根本没有 @kit.AgentFrameworkKit 的导出,因此运行时报语法错误。

解决方式有两种:

  1. compatibleSdkVersion 提升至 "5.0.0(14)",放弃 API 12 设备的安装。
  2. 如果必须兼容 API 12,需通过 canIUse('SystemCapability.AI.AgentFramework') 在逻辑分支前进行运行时检测,并将相关代码通过 await import 动态导入,确保仅在支持的环境下执行,低版本走降级逻辑。try-catch 无法阻止模块在顶层静态导入时就被解析和报错。
回到顶部