HarmonyOS鸿蒙Next中使用flutter鸿蒙化的时候,之前还没有问题,但是用了一个三方库就报错了

HarmonyOS鸿蒙Next中使用flutter鸿蒙化的时候,之前还没有问题,但是用了一个三方库就报错了 我使用的是

# just_audio:
#   git:
#     url: "https://gitcode.com/openharmony-sig/fluttertpc_just_audio.git"
#     path: "just_audio"

报错下面

hvigor ERROR: Failed :entry:default@MergeProfile… hvigor ERROR: The compatibleSdkVersion 12 cannot be smaller than version 13 declared in library [:cashiersdk] as the library might be using APIS not available in 12 hvigor ERROR: BUILD FAILED in 2 s 162 ms  ProcessException: The command failed with exit code 1 Command: hvigorw assembleHap -p product=default -p buildMode=debug --no-daemon -s -p DART_DEFINES=RkxVVFRFUl9XRUJfQ0FOVkFTS0lUX1VSTD1odHRwczovL3d3dy5nc3RhdGljLmNvbS9mbHV0dGVyLWNhbnZhc2tpdC9mNjM0NGI3NWRjZjg2MWQ4YmYxZjEzMjI3ODBiODgxMWY5ODJlMzFhLw== -p DART_OBFUSCATION=false -p TRACK_WIDGET_CREATION=true -p TREE_SHAKE_ICONS=false -p PACKAGE_CONFIG=E:\NB\console-student.dart_tool\package_config.json


更多关于HarmonyOS鸿蒙Next中使用flutter鸿蒙化的时候,之前还没有问题,但是用了一个三方库就报错了的实战教程也可以访问 https://www.itying.com/category-92-b0.html

5 回复

此报错为项目中设置的compatibleSdkVersion为API 12低于三方库的兼容的API 13版本,建议使用API 13以上版本

更多关于HarmonyOS鸿蒙Next中使用flutter鸿蒙化的时候,之前还没有问题,但是用了一个三方库就报错了的实战系列教程也可以访问 https://www.itying.com/category-92-b0.html


根据报错信息提示:SDK版本不能低于API 13,把compileSdkVersion设置为API 13试下呢?

报错信息应该是说你的sdk等级为api12,跟三方包的api编译等级不匹配?

在HarmonyOS Next中使用Flutter鸿蒙化时,引入三方库报错通常由库的依赖项与鸿蒙系统不兼容导致。请检查该库是否支持HarmonyOS Next的API,并确认其依赖的Flutter插件是否已适配鸿蒙。可尝试更新Flutter鸿蒙化工具链至最新版本,或查找是否有专为鸿蒙优化的替代库。

这个错误信息明确指出是三方库的 compatibleSdkVersion 版本不兼容导致的。

问题核心: 错误日志 The compatibleSdkVersion 12 cannot be smaller than version 13 declared in library [:cashiersdk] 表明,你引入的某个名为 cashiersdk 的库(或其依赖)在其 build-profile.json5 文件中声明的 compatibleSdkVersion 最低要求是 13,但你主项目的 compatibleSdkVersion 设置为 12(或更低)。HarmonyOS Next 的构建系统要求主模块的兼容版本号不能低于其依赖库所声明的版本。

解决方案:

你需要将你的 HarmonyOS 主工程compatibleSdkVersion 升级到至少 13

  1. 定位并修改主工程的配置文件: 打开你 HarmonyOS 工程 entry 模块(或你的主 hap 模块)下的 build-profile.json5 文件。

  2. 修改 compatibleSdkVersion 找到 "compatibleSdkVersion": 这一行,将其值修改为 13 或更高(建议与报错库声明的版本一致或更高)。修改后的部分应类似于:

    "app": {
      "signingConfigs": [],
      "products": [
        {
          "name": "default",
          "signingConfig": "default",
          "compatibleSdkVersion": 13, // 将这里从 12 改为 13
          "targetSdkVersion": 13 // 通常也一并检查此值
        }
      ]
    }
    
  3. 清理并重新构建: 修改保存后,执行以下命令清理并重新构建项目:

    hvigorw clean
    hvigorw assembleHap -p product=default -p buildMode=debug
    

根本原因分析: just_audio 鸿蒙化库或其传递依赖(可能是 cashiersdk)已经适配了 HarmonyOS SDK 的较新 API(版本 13+)。为了保证这些 API 在运行时可用,库要求应用也基于相同或更高的 SDK 版本构建。你之前未使用该库时,项目自身的 compatibleSdkVersion 设置(12)是有效的。引入该库后,由于库的版本要求更高,导致了构建时版本冲突。

注意: 确保你的开发环境(DevEco Studio、HarmonyOS SDK)支持该目标版本(13)。升级 compatibleSdkVersion 后,你的应用将需要运行在提供相应 API 级别的系统上。

回到顶部