Skip to content

sxpl/flutterBaseApp

Repository files navigation

my_app(孵化器项目基座)

一个基于flutter项目的孵化器项目基座.

项目概述

my_app是一款使用 Flutter 开发的跨平台移动应用,该应用支持 iOS 和 Android 平台。旨在为开发者提供一个功能完善且易于扩展的项目基座,涵盖新闻资讯、市场数据、用户管理等多种功能模块。

开发框架与语言

  • 主框架:Flutter (SDK 版本 ^3.7.2)
  • 编程语言:Dart
  • 状态管理:Get (GetX)

项目结构

项目遵循了模块化的架构设计,主要目录包括:

  • lib/: 主要源代码
    • main.dart: 应用入口点
    • pages/: 所有页面视图
    • model/: 数据模型定义
    • http/: 网络请求和 API 交互
    • routes/: 路由管理
    • res/: 主题资源配置
    • widget/: 可复用组件
    • utils/: 工具类
    • config/: 应用配置
    • mmkv/: 本地偏好设置
    • l10n/: 国际化资源

主页依赖三方库

  • dio: 一个功能强大的 Dart/Flutter HTTP 网络包,支持全局配置、拦截器、FormData、请求取消、文件上传/下载、超时、自定义适配器、转换器等
  • get: 状态管理和路由
  • mmkv: 本地存储
  • flutter_screenutil: 屏幕适配
  • pull_to_refresh_flutter3: 下拉刷新
  • json_annotation: json序列化
  • intl: 提供国际化和本地化功能,包括消息翻译
  • flustars: Dart常用工具类库。包含日期,正则,倒计时,时间轴等工具类
  • flutter_launcher_icons: 应用图标生成器

项目启动

# 清理项目 
flutter clean
# 获取依赖包
flutter pub get
# 运行应用
flutter run

生成国际化语言文件

编写好 arb 文件之后运行下面的命令。 这个命令会生成对应语言的 dart 文件

flutter pub run intl_utils:generate

自动生成 Android 和 iOS 应用图标

flutter pub run flutter_launcher_icons:main

Assets目录下添加资源文件、资源文件生成

1、生成资源文件(会生成 lib/res/ 目录)

flutter pub run build_runner build

2、强制重新生成(清除缓存)

flutter pub run build_runner build --delete-conflicting-outputs

3、用法 Assets.icon.iconEarthRiseArrow.image(width: 16, height: 16) Image.asset(Assets.icon.iconEarthDropArrow.path, width: 16, height: 16)

打包命令

Android 打包命令

开发环境打包

# 开发环境 debug 包
flutter build apk --flavor dev --debug

# 开发环境 release 包
flutter build apk --flavor dev --release

生产环境打包

# 生产环境 release 包
flutter build apk --flavor prod --release

# 生产环境 App Bundle(用于 Google Play 发布)
flutter build appbundle --flavor prod --release

打包权限问题:

sudo xattr -c -r /project-path

打包后文件位置

  • APK 文件:build/app/outputs/flutter-apk/
  • App Bundle 文件:build/app/outputs/bundle/

脚本配置

generate_keystore.sh -- 生成 Android 签名文件的脚本。 build_app.sh -- 一键打包脚本,支持开发环境和生产环境打包。

About

一个基于flutter项目的孵化器项目基座.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors