React-Native开发鸿蒙NEXT-一次审核闪退的排查思路

React-Native开发鸿蒙NEXT-一次审核闪退的排查思路

省流量先说结果。

原因: 审核时出现闪退的原因:在ArkTS工程的entry/obfuscation-rules.txt中添加了代码混淆相关规则导致release包出现问题。将相关混淆语句注释到后通过了云测试。

为何会添加: 某次DevEco-Studio更新后,打开工程会提醒你加上,当时想都没想就顺手点 上了。

---------------------------------流量分割线------------------------------------------

上周微信上鸿蒙的技术支持反馈,最近对应用的线上版本(0.0.3)测试发现了几个问题,主要是图片比例失真问题。加上应用上架填写的隐私相关选项需要在月底前修改下,这就得发个版本了。

修复了图片上传的问题,几个细节上微调下,就发了个0.0.4版本上去。然后就报审核不通过,存在崩溃。

由于手上有测试机,版本提交都是真机验证好了就发了,对审核的自动测试没关注过。跟技术支持沟通了下,提交了HarmonyOS Next云测试机型的使用申请通过后,用云测试跑了下0.0.4版本的兼容性和稳定性测试,确实没有通过。

先想到的肯定是通过日志定位代码。DevEco-Studio的代码/Analyze Stack Trace,把崩溃的代码调试贴进去,很遗憾直接报错了没有定位到代码。直接看日志也看不出问题。

从云测试的截图上看是到了登录界面一会就闪退了。

无法定位本地又无法复现,只好下载了上个版本的app文件丢到云测试里去执行,确实没有崩溃方面的问题。那就要么是原生ArkTS里有有问题,要么是rn的jsbundle里有问题。

开始想到的是ArkTS里加载RN的方式,毕竟上个版本是用RNAPP来加载单个bundle,这次换成了基于RNSurface加载多个(虽然提交的版本没有加入社区,但加载方式已经调整了)。为此试验了下把加载方式改回0.0.3版本,还是不通过。

这下得官司难断了---到底是原生的问题,还是js的问题?两者都有问题是最难判断的情况。

先将0.0.4版本的原生壳+0.0.3的bundle跑了一下,结果不通过。感觉还是原生的问题。为此准备打开0.0.3的原生工程,结果刚打开工程看到了一个提示!

This may cause crashes???

Obfuscation-rules.txt是鸿蒙里处理代码混淆配置的文件。一下子就对上了---release的包没法安装在本地机器上,所以本地跑的都是debug版本;混淆又是只针对release版本。得,去掉几个混淆后在打包跑一遍0.0.4版本+0.0.3的bundle,通过了。最后切换到0.0.4的bundle,原生代码也都恢复,跑了个较长时间的兼容性+稳定性都可以了。

折腾了两三天问题就这么解决了。一顺手成千古恨啊。云测试Next机型比较抢手,测试一次有时候要排队等好久才轮到自己的测试任务,无奈。


优快云不经常在线,有问题可在微信公众号或者掘金社区私信留言

更多内容可关注
我的公众号悬空八只脚

作者:悬空八只脚
链接:https://juejin.cn/post/7442361877529755687
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值