HarmonyOS 鸿蒙Next library引用本地har包错误

发布于 1周前 作者 htzhanglong 来自 鸿蒙OS

HarmonyOS 鸿蒙Next library引用本地har包错误

问题现象

在HarmonyOS library模块中,引用了本地的har包,编译时提示“HAR_DEPENDENCY_ERROR”错误信息,如下图所示:

01.png

解决措施

HarmonyOS library引用本地的har包的引用方式需要进行改造,具体步骤为:

  1. 在工程根目录下创建一个libs文件夹,并将需要引用的本地har包放到该文件夹下。

    02.png

  2. 打开工程根目录下的build.gradle文件,在allprojects闭包中增加如下配置信息。
       
    1. allprojects {
    2. repositories {
    3. repositories {
    4. flatDir {
    5. dir ‘…/libs’
    6. }
    7. }

    03.png

  3. 打开HarmonyOS library模块下的build.gradle文件,修改har包的依赖方式。

    修改前:

       
    1. dependencies {
    2. implementation fileTree(dir: ‘libs’, include: [’.jar’, '.har’])
    3. }

    修改后(其中ailifeability请修改为实际需要引用的har包名称):

       
    1. dependencies {
    2. implementation fileTree(dir: ‘libs’, include: [’*.jar’])
    3. implementation(name: ‘ailifeability’, ext: ‘har’)
    4. }

2 回复
  "dependencies": {
"helper": "file:../helper"
}

我的 helper 是 c++ native module,然后发现在另一个 module 的 oh-package.json5 可以这样引入他

针对HarmonyOS 鸿蒙Next library引用本地har包错误的问题,以下是一些专业的解决方案:

首先,确保har包已正确放置在工程根目录下的libs文件夹中。若未创建libs文件夹,请先创建并放入har包。

其次,检查并修改build.gradle文件。在allprojects闭包中的repositories部分,确保已配置flatDir指向libs文件夹。然后,在HarmonyOS library模块的build.gradle文件中,修改har包的依赖方式。将原有的fileTree依赖方式调整为明确的implementation依赖,并指定har包的名称和扩展名。

此外,请注意har包之间的依赖关系。如果har包b依赖har包a,请确保har包a中的资源在har包b中可被正确引用。若引用资源时出现问题,请检查资源名称是否正确,以及资源是否已正确包含在har包中。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部