问题摘要:
目标:在Google Play上部署一个功能稳定的Android应用程序。
开发环境:博览会39.0.0
React Native 0.63
用于测试的物理设备:在Android 10 上运行的Honor 8x
预期结果:一个不会崩溃的Android应用程序
实际结果:Expo encountered a fatal error: Error while updating property 'text' in shadow node of type: RCTRawText
我的安卓应用程序在物理设备Honor 8x/Android 10上使用Expo进行开发时运行良好,没有任何警告或错误消息。在生产中部署时,它会在所有设备上崩溃。adb-logcat给出了上面提到的错误消息。
我试过什么:
- 检查了具有三元运算符或依赖于状态的动态值的所有节点
- 清空缓存,删除数据并重新启动应用程序
- 询问最近另外两位用户的反馈。该应用程序在他们的设备上显示出相同的行为,即崩溃
- 运行
expo start --no-dev --minify
以验证它是否引发任何错误或警告 - 使用
adb install <path to apk>
检查了物理设备上的apk。在多个构建中尝试过此操作
可重复的最小示例:我无法隔离问题的来源。不幸的是,我还没有安装哨兵。因此,我无法真正分享可能是根本原因的特定代码片段。
Google Play上有缺陷的应用程序url:https://play.google.com/store/apps/details?id=com.meetstargazers.application
通过运行adb logcat
获得的详细错误消息
AndroidRuntime: java.lang.RuntimeException: Unable to resume activity {com.meetstargazers.application/host.exp.exponent.MainActivity}: java.lang.RuntimeException: Expo encountered a fatal error: Error while updating property 'text' in shadow node of type: RCTRawText
AndroidRuntime: Caused by: java.lang.RuntimeException: Expo encountered a fatal error: Error while updating property 'text' in shadow node of type: RCTRawText
它对您的名为"文本";。尝试找到定义为";文本";并检查其值是否正确设置。此外,android不接受"";值中的运算,如{text:isValueMatched((&&"abc"},而它应该像{text:isValueMatched(?"abc":undefined}。