Flutter SDK
: ^3.8.1webview_flutter
: ^4.0.7 ✅(是较新的版本)- 报告的问题:
JavascriptMode
无法导入 / 使用。
✅ 正确使用 webview_flutter: ^4.x
的方式
从 webview_flutter
4.x 起,官方推荐的新用法如下 👇:
🔧 示例代码(适配 webview_flutter: ^4.0.7
)
1 | import 'package:flutter/material.dart'; |
📌 注意点汇总:
项目 | 说明 |
---|---|
✅ WebViewWidget | 替代旧版 WebView(...) 构造函数方式。 |
✅ WebViewController | 用于加载本地 HTML、设置 JS 模式、导航等。 |
✅ loadFile(path) | 加载本地 HTML 文件,返回的是 file:// 路径。 |
⚠ initialUrl |
已不推荐直接传本地路径(容易出现跨平台问题)。 |
✅ NavigationDelegate |
可用于处理加载完成、跳转等事件。 |
🔍 还要确保的内容
1. 在 Android 项目中添加网络权限:
android/app/src/main/AndroidManifest.xml
中添加:
1 | <uses-permission android:name="android.permission.INTERNET"/> |
2. 在 main.dart
初始化 WebView:
1 | import 'dart:io'; |
✅ 结论
当前的 webview_flutter
版本(4.0.7)确实已经 弃用了旧的 WebView(...)
构造方式,请用 WebViewWidget + WebViewController
的组合方式来替代,否则 JavascriptMode
无法被正确使用或识别。
已为生成了一份完整的 Flutter 项目模板,包含以下功能:
✅ 功能特性:
- ✅ 本地 Vue3 页面打包为静态资源
- ✅ 动态加载并展示 Tab 页面(WebView 实现)
- ✅ 支持远程检测更新并下载替换本地资源(模拟热更新机制)
- ✅ 资源管理封装在
ResourceManager
中 - ✅ Flutter WebView 支持本地文件加载
可以通过以下链接下载这个完整项目的压缩包:
👉 点击下载 Flutter+Vue3 热更新项目模板
📁 项目结构简要说明:
1 | flutter_vue_tab_loader/ |
🔧 核心文件说明:
main.dart
入口文件,包含 Tab 控制界面和底部导航。
tab_webview.dart
通过 WebView 加载本地 HTML 页面。
resource_manager.dart
封装资源检测、加载和远程更新逻辑。
🧪 模拟热更新说明:
resource_manager.dart
中包含伪代码逻辑:
checkForUpdates()
:通过远程 JSON 文件检测是否有更新。downloadResources()
:下载更新的 HTML 文件替换本地资源。
🚀 下一步操作建议:
- 使用 Flutter ≥ 3.13 版本运行
- 使用
webview_flutter
版本4.0.7
或更高 - 本地打包的 Vue3 项目,产出 HTML,复制到
assets/tabs/
- 启动模拟更新服务或放置资源包 zip 于的服务器
在 VS Code 中使用 Android Studio 安装的 AVD(模拟器)是完全可行的。以下是详细步骤:
✅ 前提条件
已经:
- 安装了 Android Studio
- 配置了 Android SDK
- 在 Android Studio 中使用 AVD Manager 创建了一个或多个模拟器
🧭 步骤一:确保 VS Code 能找到 AVD 和 SDK
1. 设置环境变量(非常重要)
需要配置以下环境变量:
Windows:
打开系统环境变量设置,添加:
1 | ANDROID_HOME = C:\Users\<的用户名>\AppData\Local\Android\Sdk |
然后编辑 Path
,添加以下两项(根据安装路径微调):
1 | %ANDROID_HOME%\emulator |
macOS/Linux:
在 ~/.bashrc
或 ~/.zshrc
添加:
1 | export ANDROID_HOME=$HOME/Library/Android/sdk |
执行 source ~/.zshrc
以生效。
🧭 步骤二:在 VS Code 中运行模拟器
方法一:命令行启动
打开 VS Code 的终端(Terminal):
1 | emulator -list-avds |
会看到已安装的模拟器名称,例如:
1 | Pixel_5_API_34 |
然后运行:
1 | emulator -avd Pixel_5_API_34 |
模拟器将启动。
方法二:使用 Flutter 插件集成
确保已安装 VS Code 插件:
- Flutter
- Dart
在 VS Code 左下角点击
No Device
或当前设备名称 ➜ 会弹出设备列表。如果模拟器未显示,可点击
Open Android Emulator
(Flutter 插件提供)来手动启动。
🧭 步骤三:在 VS Code 运行 App 到模拟器
- 启动模拟器后,重新打开 VS Code 项目
- 点击顶部工具栏的 “Run” ▶ 或
F5
即可运行 App 到该模拟器上。
🛠️ 补充:检查 SDK 和环境配置
可以运行以下命令来确认:
1 | flutter doctor |
确保输出中没有关于 Android SDK 的错误。如果提示缺失,检查 ANDROID_HOME
和 SDK 路径配置。
若你觉得我的文章对你有帮助,欢迎点击上方按钮对我打赏