HarmonyOS鸿蒙Next中har包的module.json5配置compressNativeLibs报错

HarmonyOS鸿蒙Next中har包的module.json5配置compressNativeLibs报错

harA 包中有 so 文件,不能压缩,导致体积过大。

我查询文档:可以通过 module.json5 配置 compressNativeLibs 为 true 进行压缩。但是在配置时候报错:

Value should be one of: "name", "type", "srcEntrance", "srcEntry", "description", "process", "mainElement", "deviceTypes", "installationFree", "virtualMachine", "uiSyntax", "metadata", "abilities", "extensionAbilities", "requestPermissions", "definePermissions", "testRunner", "dependencies", "libIsolation", "routerMap" ;

另外:如果 so 相关的代码放到另一个 har 包,如:harB, 此时在 harA 中通过 oh-package.json 引入 file:…/path/to/harB.har,整体 harA 的体积就被压缩了。

这种情况该怎么处理啊?


更多关于HarmonyOS鸿蒙Next中har包的module.json5配置compressNativeLibs报错的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复

请参考:https://developer.huawei.com/consumer/cn/doc/best-practices-V5/bpta-decrease_pakage_size-V5#section15826132851819,设置compressNativeLibs时应该是在module下的,直接在entry module中配置compressNativeLibs,便可以实现正常压缩。

更多关于HarmonyOS鸿蒙Next中har包的module.json5配置compressNativeLibs报错的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next中,module.json5配置文件中的compressNativeLibs字段用于指定是否压缩Native库。如果该字段配置不当,可能会导致报错。compressNativeLibs字段的合法取值为truefalse,默认值为true。如果该字段被错误地设置为其他值,如字符串、数字等,系统将无法正确解析该配置,从而引发报错。确保compressNativeLibs字段的值为布尔类型,并且符合规范,即可避免该错误。

在HarmonyOS鸿蒙Next中,module.json5配置中的compressNativeLibs字段用于指定是否压缩Native库。如果遇到报错,请检查以下几点:

  1. 字段位置:确保compressNativeLibs字段位于module.json5文件的正确位置,通常在"abilities""js"节点下。

  2. 数据类型:compressNativeLibs应为布尔类型(truefalse),请确保输入值正确。

  3. 依赖版本:确认使用的SDK版本是否支持该字段,某些旧版本可能不支持。

  4. 语法检查:使用IDE的语法检查功能,确保文件格式和语法无误。

如果问题仍未解决,建议查阅官方文档或社区支持获取更多帮助。

回到顶部