You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flutter TeXView(WebView)在安卓模拟器中无法渲染问题求助

问题根因定位

你遇到的错误核心是日志末尾的Uncaught ReferenceError: initView is not defined报错,说明flutter_tex依赖的WebView组件没有正常加载内置的公式渲染HTML资源,而是加载了错误的空白页,所以仅能显示加载状态的绿线,无法渲染公式。

解决方案
  • 检查Android清单文件配置
    打开android/app/src/main/AndroidManifest.xml,在<application>标签添加android:usesCleartextTraffic="true"属性,flutter_tex使用本地HTTP服务托管渲染资源,Android9及以上默认禁止明文流量会导致资源加载失败。配置示例:
    <application
        android:name="io.flutter.app.FlutterApplication"
        android:label="你的应用名"
        android:icon="@mipmap/ic_launcher"
        android:usesCleartextTraffic="true"> <!-- 新增这行 -->
    
  • 更新模拟器WebView版本
    你当前使用的x86模拟器搭载的WebView版本为83.0.4103.106,属于较老版本,存在JS接口兼容性问题。进入模拟器设置→应用→找到「Android System WebView」,更新到最新版本后重启模拟器重试。
  • 调整代码初始化顺序
    不要在页面initState阶段直接传入公式内容,要监听TeXView的就绪事件后再设置渲染内容,示例代码:
    TeXView(
      onRenderFinished: () {
        // 渲染引擎就绪后再设置公式内容
      },
      child: TeXViewDocument(r"""你要渲染的公式内容"""),
    )
    
  • 清理项目缓存重试
    依次执行以下命令清理缓存后重新运行:
    flutter clean
    flutter pub get
    
  • 真机验证
    直接用Android真机运行项目,如果真机可以正常渲染,即可确认问题为模拟器自身WebView的兼容性缺陷,不影响线上打包发布。

内容的提问来源于stack exchange,提问作者BastiTri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.20 00:06:04