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

Flutter WebView运行报错:未知特性SUPPRESS_ERROR_PAGE求助

解决Flutter WebView源码运行时SUPPRESS_ERROR_PAGE未知特性错误

问题背景

购买Flutter WebView源码后,严格遵循文档操作仍运行失败,核心错误为Unknown feature SUPPRESS_ERROR_PAGE。

错误日志

E/MethodChannel#flutter/platform_views( 3411): Failed to handle method call
E/MethodChannel#flutter/platform_views( 3411): java.lang.RuntimeException: Unknown feature SUPPRESS_ERROR_PAGE
E/MethodChannel#flutter/platform_views( 3411):  at androidx.webkit.internal.WebViewFeatureInternal.isSupported(WebViewFeatureInternal.java:649)
E/MethodChannel#flutter/platform_views( 3411):  at androidx.webkit.internal.WebViewFeatureInternal.isSupported(WebViewFeatureInternal.java:618)
E/MethodChannel#flutter/platform_views( 3411):  at androidx.webkit.WebViewFeature.isFeatureSupported(WebViewFeature.java:611)
E/MethodChannel#flutter/platform_views( 3411):  at com.pichillilorenzo.flutter_inappwebview_android.webview.in_app_webview.InAppWebView.prepare(InAppWebView.java:436)
E/MethodChannel#flutter/platform_views( 3411):  at com.pichillilorenzo.flutter_inappwebview_android.webview.in_app_webview.FlutterWebView.<init>(FlutterWebView.java:82)
E/MethodChannel#flutter/platform_views( 3411):  at com.pichillilorenzo.flutter_inappwebview_android.webview.FlutterWebViewFactory.create(FlutterWebViewFactory.java:67)
E/MethodChannel#flutter/platform_views( 3411):  at io.flutter.plugin.platform.PlatformViewsController.createPlatformView(PlatformViewsController.java:525)
E/MethodChannel#flutter/platform_views( 3411):  at io.flutter.plugin.platform.PlatformViewsController$1.createForPlatformViewLayer(PlatformViewsController.java:170)
E/MethodChannel#flutter/platform_views( 3411):  at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.create(PlatformViewsChannel.java:105)
E/MethodChannel#flutter/platform_views( 3411):  at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.onMethodCall(PlatformViewsChannel.java:55)
E/MethodChannel#flutter/platform_views( 3411):  at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:267)
E/MethodChannel#flutter/platform_views( 3411):  at io.flutter.embedding.engine.dart.DartMessenger.invokeHandler(DartMessenger.java:292)
E/MethodChannel#flutter/platform_views( 3411):  at io.flutter.embedding.engine.dart.DartMessenger.lambda$dispatchMessageToQueue$0$io-flutter-embedding-engine-dart-DartMessenger(DartMessenger.java:319)
E/MethodChannel#flutter/platform_views( 3411):  at io.flutter.embedding.engine.dart.DartMessenger$$ExternalSyntheticLambda0.run(Unknown Source:12)
E/MethodChannel#flutter/platform_views( 3411):  at android.os.Handler.handleCallback(Handler.java:938)
E/MethodChannel#flutter/platform_views( 3411):  at android.os.Handler.dispatchMessage(Handler.java:99)
E/MethodChannel#flutter/platform_views( 3411):  at android.os.Looper.loop(Looper.java:246)
E/MethodChannel#flutter/platform_views( 3411):  at android.app.ActivityThread.main(ActivityThread.java:8625)
E/MethodChannel#flutter/platform_views( 3411):  at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#flutter/platform_views( 3411):  at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:602)
E/MethodChannel#flutter/platform_views( 3411):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1130)
E/flutter ( 3411): [ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: PlatformException(error, Unknown feature SUPPRESS_ERROR_PAGE, null, java.lang.RuntimeException: Unknown feature SUPPRESS_ERROR_PAGE

已尝试的无效操作

  • flutter clean
  • gradlew clean
  • 重装Flutter
  • 重装Android Studio(Jellyfish 2023.3.1 Patch 1)

环境信息

  • Java版本:21.0.3 LTS
  • Flutter环境:检测结果无异常

解决方案

核心原因

错误由flutter_inappwebview_android插件调用了AndroidX WebView库中不存在的SUPPRESS_ERROR_PAGE特性导致,属于插件版本与本地依赖库版本不兼容问题。

具体修复步骤

  1. 锁定AndroidX WebView库版本
    在项目根目录的android/build.gradle文件中添加强制依赖配置,指定兼容的WebView版本(如1.7.0,该版本包含目标特性):

    configurations.all {
        resolutionStrategy {
            force 'androidx.webkit:webkit:1.7.0'
        }
    }
    

    配置完成后执行flutter clean和flutter run。

  2. 降级flutter_inappwebview插件版本
    修改pubspec.yaml中的flutter_inappwebview版本为与当前环境兼容的稳定版(如5.8.0),执行flutter pub get更新依赖后重新运行。

  3. 更新设备系统WebView
    确保测试设备上的Android System WebView应用已更新至最新版本(通过应用商店检查更新),旧版本WebView可能不支持该特性。

  4. 临时修改插件源码
    若上述方法均无效,可临时注释掉插件中对SUPPRESS_ERROR_PAGE的检查代码:
    找到flutter_inappwebview_android插件的InAppWebView.java文件,注释以下代码:

    // if (WebViewFeature.isFeatureSupported(WebViewFeature.SUPPRESS_ERROR_PAGE)) {
    //     webSettings.setSuppressErrorPage(true);
    // }
    

    修改后执行flutter clean和flutter run重新编译。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.22 19:13:13