f232c4d10aee2faf3fc8bab2537bb203e25c276d
WebView 背景从白色改成透明。 WebView 不再无条件渲染,只有已发起初始加载或首屏已展示后才渲染。 首屏未 ready 时,用 shell cover/fallback 盖住 WebView,避免白屏或 WebView 空白层提前露出。 顶部安全区背景色跟随 shell 背景,减少状态栏区域闪白
im_webview_app
Flutter WebView 套壳 App。启动时只会生成并加载一个 H5 URL;如果当前 URL 探测或加载失败,壳层会重新生成下一个 URL 并替换当前 WebView,项目运行过程中始终只持有一个 H5 URL。
默认 URL 来自代码中的泛域名模板,会生成 16 位数字子域名,并通过查询参数把 Flutter 壳请求地址传给 H5:
https://1234567890123456.albzyuxq.vip/?flutter_shell=1&flutter_shell_url=https%3A%2F%2F1234567890123456.albzyuxq.vip
本地打包
flutter build apk --release
APK 产物:
build/app/outputs/flutter-apk/app-release.apk
自动部署 APK
在 app 目录执行:
./deploy-app.sh
这个命令会自动执行:
flutter build apk --release
scp -P 22 ./build/app/outputs/flutter-apk/app-release.apk root@54.116.29.247:/data/wwwroot/apk/
ssh -p 22 root@54.116.29.247 "bash /data/wwwroot/apk/show_apk_link.sh app-release.apk"
如果已经打包好了,只想上传现有 APK:
./deploy-app.sh --skip-build
如果要上传自定义 APK:
./deploy-app.sh --skip-build --apk ./build/app/outputs/flutter-apk/app-release.apk
远端配置也可以通过参数覆盖:
./deploy-app.sh --host 54.116.29.247 --user root --port 22
Description
Languages
Dart
64.7%
Kotlin
29.7%
Shell
3.2%
Swift
2.3%