控制台报错

Failed to validate the certificate chain, error : java . security . cert. Cert Path Validator Exception: Trust anchor for certification path not found.
有道翻译:验证证书链失败,错误:java。 安全。 cert. cert路径验证器异常:未找到证书路径的信任锚。

在stackoverflow找到了解决办法
1.找到Flutter sdk目录下webviewflutter文件夹(说明一下:我使用的webview是1.0.7版本,所以根据你使用的版本去切换路径)

flutter\.pub-cache\hosted\pub.flutter-io.cn\webview_flutter-1.0.7\android\src\main\java\io\flutter\plugins\webviewflutter

2.打开FlutterWebViewClient.java文件
并添加这一行

@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
  handler.proceed();
}

添加到 internalCreateWebViewClient 函数。完成后它应该是这样的

private WebViewClient internalCreateWebViewClient() {
    return new WebViewClient() {
      @TargetApi(Build.VERSION_CODES.N)
      @Override
      public boolean shouldOverrideUrlLoading(WebView view, WebResourceRequest request) {
        return FlutterWebViewClient.this.shouldOverrideUrlLoading(view, request);
      }

      @Override
      public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
        handler.proceed();
        }

      @Override
      public void onPageFinished(WebView view, String url) {
        FlutterWebViewClient.this.onPageFinished(view, url);
      }
    };
  }

3- 在最上面添加这些进口

import android.net.http.SslError;
import android.webkit.SslErrorHandler;

最后成功打开https页面

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐