【HarmonyOS NEXT】闭源har包里依赖其他har,如何让依赖的har包不包含在闭源har内

 【关键字】

闭源 / HAR / 依赖 / 不包含 / compileOnly / 编译

【问题描述】

创建了一个闭源library,这个library里依赖了其他的har包(闭源)。当对这个闭源library进行打包时,会把这些依赖的包也打进去,但是entry里也依赖了其他的har包(闭源),导致会有资源重复的问题。有没有类似Android依赖的方法compileOnly(),只会在运行时使用,编译不添加进去。

test_02是包含资源的har包。entry和test_01都依赖test_02编译后的har包,现在想test_01编译时不把test_02的包编译进去。

【解决方案】

可以通过以下方法实现:

  1. test_01直接依赖 test_02 module,不通过har文件的方式依赖。

    test_01\oh-package.json5中"dependencies"如下:

    "dependencies": {
    "mftp_image": "file:../test_02",
    }

    这样test_01 har包中就不会有test_02的har存在。

  2. 在entry中通过文件的方式依赖test_01.har和 test_02.har。

    entry\oh-package.json5中"dependencies"如下:

    "dependencies": {
    "test_01": "file:./libs/test_01.har",
    "mftp_image": "file:./libs/test_02.har",
    }

  3. 在项目级的oh-package.json5中,通过overrides使用同一个版本的test_02.har。

    项目级的oh-package.json5中“overrides”如下:

    "overrides": {
    "mftp_image": "file:./entry/libs/test_02.har"
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值