HarmonyOS 报错依赖大小超过2MB?

工程中每个包都是没超过2M,但是整体升在做debug执行build–\>build App时候,报错是entry模块依赖的超过了2M。

这个如何解决?如果dynamicDependencies做配置确实减少了,但是hsp我们有强依赖关系,想通过dependencies做依赖配置。但是官网说整体包大小不超过10M,单个hsp不超过2M,但是引入依赖的时候超过了2M为啥还不让做编译打包呢?我的hsp并没有超过2M,har才几十KB.

阅读 642
1 个回答

元服务中,所有包的大小总和不能超过10M,单个包加上其采用dependency方式依赖的分包,大小不能超过2M。https://developer.huawei.com/consumer/cn/doc/atomic-guides-V5/atomic-subcontract-V5

可以把.app .hap 都可以改成.zip 可以直接看里面都包含了什么,看到底是哪个文件大了,当前分包,如果是dependencies方式使用,实际是会按分包+dependencies计算分包大小。解决思路:

1、将公共代码抽成common模块,entry的hap包、特性hspXXX包依赖common。

2、使用router路由到hspXXX的页面(entry的dependency不再依赖hspXXX),比如

router.back({
  // 路径为:`library/src/main/ets/pages/Menu.ets
  url: '@bundle:com.samples.hspsample/library/ets/pages/Menu'
})

url内容的模板为:

‘@bundle:包名(bundleName)/模块名(moduleName)/路径/页面所在的文件名(不加.ets后缀)’

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进