HarmonyOS 鸿蒙Next开启代码混淆之后,三方库没法使用了
HarmonyOS 鸿蒙Next开启代码混淆之后,三方库没法使用了 我开启代码混淆之后,感觉对三方库产生了影响,以至于三方库无法使用。有人遇到过这种情况吗?
应该是开启混淆后,混淆了三方库的文件名称所以用不了对应的文件方法。
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/source-obfuscation-V5#代码混淆简介
看下上面的链接,要是开启混淆,会默认开启四个“推荐选项”,要自己调整下。
用“-keep-property-name”来设置不需要被混淆的文件名称,参照这里:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/source-obfuscation-V5#保留选项
官网文档的例子:
-keep
./src/main/ets/fileName.ts // fileName.ts中的名称不混淆
../folder // folder目录下文件及子文件夹中的名称都不混淆
../oh_modules/json5 // 引用的三方库json5里所有文件中的名称都不混淆
可以自己根据上面的链接试下。
更多关于HarmonyOS 鸿蒙Next开启代码混淆之后,三方库没法使用了的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
行,我先去官网看看,再操作下,
实测
ohpm install dayjs
ohpm install @hview/dayjs
ohpm install @hview/moment
这几个我轮流测试过 开混淆打包.app上架测试
dayjs方法不可用 moment直接崩
有用这些库的兄弟注意下要调整混淆的设置
在HarmonyOS(鸿蒙)系统中,当开启代码混淆(ProGuard或R8等工具)后,如果三方库无法使用,通常是因为混淆过程中某些关键类、方法或字段被错误地重命名或移除。这会导致运行时找不到这些必要的组件,从而引发错误。
要解决这个问题,你需要确保混淆配置文件(如proguard-rules.pro
)中包含了正确的规则来保留三方库所需的类、方法和字段。这通常涉及到:
-
查看三方库的文档:许多流行的库会提供官方的ProGuard规则文件或建议,你需要将这些规则添加到你的项目中。
-
手动添加规则:如果官方没有提供,你可能需要手动分析错误日志,找出哪些类或方法被混淆导致问题,然后在混淆配置文件中添加相应的
-keep
规则来保留它们。 -
测试:在添加或修改混淆规则后,务必重新进行充分的测试,以确保所有功能都按预期工作。
如果问题依旧没法解决,请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html