React native 使用<;HTML/>;,Android在导航回堆栈屏幕时崩溃

React native 使用<;HTML/>;,Android在导航回堆栈屏幕时崩溃,react-native,react-native-render-html,React Native,React Native Render Html,在react native screens中启用屏幕时,如果屏幕呈现带有iframeHTML元素的组件,则当按下后退按钮返回主屏幕时,应用程序崩溃 环境 反应本机:0.61.5 react本机呈现html:4.2.2 react native webview:10.3.2 反应本机屏幕:2.8.0 react本机呈现html表桥:0.6.1 事故日志 07-29 17:41:49.173 6901 F crashpad:dlopen:dlopen失败:未找到库“libandroidicu.s

react native screens
中启用屏幕时,如果屏幕呈现带有
iframe
HTML元素的
组件,则当按下后退按钮返回主屏幕时,应用程序崩溃

环境
  • 反应本机:0.61.5
  • react本机呈现html:4.2.2
  • react native webview:10.3.2
  • 反应本机屏幕:2.8.0
  • react本机呈现html表桥:0.6.1
事故日志
07-29 17:41:49.173 6901 F crashpad:dlopen:dlopen失败:未找到库“libandroidicu.so”:命名空间中的/system/lib/libharfbuzz_ng.so所需(默认)
---------坠机开始
07-29 17:41:49.176 6410 6441 F libc:致命信号11(SIGSEGV),代码1(SEGV_MAPERR),tid 6441(渲染读取)中的故障地址0x1c,pid 6410(com.newmednav)
07-29 17:41:49.340 6904 6904 F调试:************************************************************
07-29 17:41:49.340 6904 6904调试:构建指纹:“google/sdk\u gphone\u x86\u arm/generic\u x86\u arm:11/RPB2.200611.009/6625208:userdebug/dev key”
07-29 17:41:49.340 6904 6904 F调试:修订版:“0”
07-29 17:41:49.340 6904 6904 F调试:ABI:'x86'
07-29 17:41:49.340 6904 6904 F调试:时间戳:2020-07-29 17:41:49+0545

07-29 17:41:49.340 6904 6904 F DEBUG:pid:6410,tid:6441,name:RenderThread>>com.newmednav这是由
react native webview
react native screens
之间的不兼容引起的,如果您使用
@react navigation/*
软件包,必须依赖于此

react native中修复-screens@2.12.0
请参阅更改登录

如果无法升级react本机屏幕 有3种变通方法:

网络视图不透明度
const tagsStyles={
iframe:{
不透明度:0.99
},
//如果您使用的是@native html/table插件
表:{
不透明度:0.99
}
}
并在渲染时使用此道具:

返回
禁用硬件加速 在android/app/src/main/AndroidManifest.xml
中:


禁用本机屏幕 从您的
App.js
文件:

//从“react native screens”导入{enableScreens};
//启用屏幕();

另一个修复方法是在navigationOptions中禁用react导航的动画

static navigationOptions = () => ({
  animationEnabled: false,
});

我使用的是
react native screens 2.18.1
,这个错误会在android上持续存在。必须将
animationEnabled=false
设置为变通方法
static navigationOptions = () => ({
  animationEnabled: false,
});