Flutter WebView组件出现err_cache_miss错误求助
解决Flutter WebView真机出现err_cache_miss的思路
1. 配置网络权限
- Android端:在
android/app/src/main/AndroidManifest.xml中添加以下权限:<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> - iOS端:如果目标网址是HTTP协议,需要在
ios/Runner/Info.plist中添加HTTP请求允许配置:<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>
2. 切换为HTTPS链接
err_cache_miss错误常与HTTP请求的缓存机制异常相关,优先使用HTTPS协议的链接,比如将代码中的http://www.google.com替换为https://www.google.com,HTTPS的缓存逻辑更稳定,也符合现代应用的安全要求。
3. 自定义WebView缓存策略
通过WebViewController手动配置缓存相关的请求头,或设置缓存模式:
WebView( initialUrl: 'https://www.google.com', javascriptMode: JavascriptMode.unrestricted, onWebViewCreated: (WebViewController controller) { controller.loadUrl( 'https://www.google.com', headers: { 'Cache-Control': 'public, max-age=3600', }, ); }, )
4. 清理真机缓存后重装
在真机的应用设置中找到你的应用,清空存储缓存后,重新安装运行应用,旧缓存残留可能导致加载异常。
5. 检查WebView版本兼容性
部分旧版本的Android系统WebView内核(与Chrome共享)存在HTTP缓存处理bug,可尝试在应用商店更新Chrome浏览器,同步更新WebView内核版本后再测试。
内容的提问来源于stack exchange,提问作者Kasper555
相关产品推荐
相关产品推荐

