海欧的博客

  • Navidrome
  1. 首页
  2. APP
  3. 正文

Flutter开发静态站点自动发布工具手机应用

2026年6月21日 42点热度 0人点赞 0条评论

Flutter开发静态站点自动发布工具手机应用

image-20260621185102944

0. 项目背景

自从我搭建了静态博客的moments站点之后,我发布一个动态分享的流程是这样的,打开手机github应用进入仓库,仓库中新建md文件,在文件中写上文字,切换到手机浏览器,登录图床上传照片,复制照片链接,回到github粘贴图片链接,最后发布推送。这个流程让我抓狂,如果是更多的照片简直恨不得摔手机。于是我很早就计划做一个app,把以上流程都合并在一个应用中完成。现在趁端午假期立刻把项目落地,在项目评估中我选择了Flutter的前端框架,它并非调用安卓原生控件而是使用自己的UI引擎绘制控件,屏蔽了原生安卓开发中的很多诟病,它支持跨平台。

1. 方案选择

选择Flutter而非原生 Android, 跨平台,热重载可以不需要等待长时间的编译,屏蔽了原生安卓开发的复杂性,避免复杂的权限申请,小工具推荐使用。

2. VSCode安装插件

安装Flutter插件,参照官方指导安装工具链

参考链接:Install Flutter using VS Code

image-20260621191926777

3. 工具链部署

VSCode上安装 Flutter插件 + Flutter SDK(插件安装后会提示下载安装) + Android Studio(手动安装最新版)

配置Flutter SDK bin目录到环境变量:

Path D:FlutterSDKflutterbin
#在环境变量里面新建变量,配置国内镜像源
PUB_HOSTED_URL https://pub.flutter-io.cn
FLUTTER_STORAGE_BASE_URL https://storage.flutter-io.cn

运行 flutter doctor 检查:

image-20260619161603222

运行检查后提示缺失的环境配置需手动安装

安装安卓cmdline-tools(进入Android Studio安装配置):

image-20260619162249910
#部署Android证书
flutter doctor --android-licenses

再一次运行,正常情况会提示依赖完整:

image-20260619163409825

4. VSCode开发

使用Flutter插件的命令创建项目(项目地址与Flutter缓存要同盘符):

创建项目骨架之后,运行编译

image-20260619163930113

手机启用usb调试,手机连接电脑,vscode会显示你的手机:

image-20260619164348940

5. 修改镜像源

修改gradle镜像源:

#androidgradlewrappergradle-wrapper.properties
distributionUrl=https://mirrors.cloud.tencent.com/gradle/gradle-9.1.0-all.zip
#android/build.gradle.kts 添加一下镜像源
repositories {
        // 优先从国内阿里云镜像拉取安卓标准库
        maven { url = uri("https://maven.aliyun.com/repository/google") }
        maven { url = uri("https://maven.aliyun.com/repository/public") }
        google()
        mavenCentral()
    }
#android/settings.gradle.kts
repositories {
        // 优先从国内阿里云镜像拉取 Gradle 插件
        maven { url = uri("https://maven.aliyun.com/repository/google") }
        maven { url = uri("https://maven.aliyun.com/repository/public") }
        maven { url = uri("https://maven.aliyun.com/repository/gradle-plugin") }
        google()
        mavenCentral()
        gradlePluginPortal()
    }

运行构建:

flutter clean
flutter run -v

6. 创建token

在应用中涉及仓库以及图床的操作,需要申请token

新建github [Fine-grained personal access tokens] 密钥 (只选Contents权限) + 配置兰空图床API(使用ApiFox工具申请token),最后粘贴到assets/secrets.json

image-20260621030425450

7. 调试结果

手机APP会自动安装,测试功能并查看控制台的日志是否正常:

image-20260621025048783
image-20260620013344104

USB调试app的日志输出:

image-20260620153732115

博文推送到github后,wordflows会自动执行python脚本对文章进行预处理,

云服务器的docker webhook会触发静态站点构建工具的执行,静态页面html资源文件会自动更新,最后显示效果如下:

image-20260621025928568

8. 代码仓库

 git clone https://github.com/haiou1220/git_md_lsky_flutter_app.git
image-20260621194025935

9. 最后

这个项目解决了我发布一个动态需要繁琐流程的麻烦,相当于解放了我的时间与对操作的厌倦。接下来我应该还会继续开发一款用于控制物联网设备的手机应用,项目到这里就告一段落啦。

标签: 前端 安卓 应用
最后更新:2026年6月21日

haiou

理工男极客工程师

点赞

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

归档

  • 2026 年 6 月
  • 2026 年 4 月
  • 2026 年 3 月
  • 2026 年 2 月

分类

  • APP
  • 嵌入式
  • 服务器

00:00
目录
  • Flutter开发静态站点自动发布工具手机应用
    • 0. 项目背景
    • 1. 方案选择
    • 2. VSCode安装插件
    • 3. 工具链部署
    • 4. VSCode开发
    • 5. 修改镜像源
    • 6. 创建token
    • 7. 调试结果
    • 8. 代码仓库
    • 9. 最后

COPYRIGHT © 2026 海欧的博客. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang