§ Fox4.0外壳教程-应用打包

§ 说明

Fox4.0外壳能够分别编译打包为不同平台上的应用,目前支持的平台如下:

  • Android
  • iOS
  • ohos(鸿蒙)
  • Windows
  • Linux
  • Mac

§ H5应用版本更新

应用的配置和初始的H5应用放目录apps/fox_app/assets/version下,version目录的结构如下:

.
├── fox_app.zip
└── version.json
1
2
3
  • fox_app.zip 为压缩后的版本文件
  • version.json 文件记录了版本信息

fox_app.zip的名称,是由version.json文件设置的。

version.json中的内容

{
    "name": "fox_app",
    "version": "0.0.1"
}
1
2
3
4
  • name属性:定义了版本文件文件zip压缩包的名称,如上面配置中的name为fox_app,那么对应的版本压缩文件名为fox_app.zip,也是就是其关系为"name":"xxx" = xxx.zip
  • version属性:定义了应用的版本号,应用在第一次启动时,会装载fox_app.zip,后续覆盖安装时,如果version.json中的版本号和当前的版本号是否一致,不一致才会重新覆盖装载fox_app.zip的内容,所以如果需要更新fox_app.zip,就必须更新version.json中的version版本号。

§ zip压缩包的目录结构说明

上述fox_app.zip版本压缩包,解压后的目录结构如下:

.
├── configuration
│   └── client.properties
└── workspace
    ├── fox
    └── resource
1
2
3
4
5
6

1、配置文件 configuration/client.properties

#交易资源地址
web/mainApp=fox
# web/mainApp=http://192.168.146.20:5501/index.html


#主工程回退键事件
web/backAction=javascript:fox.custom.back()

#小程序回退键事件
web/appBackAction=javascript:fox.custom.back()

#安全配置
# security/scopes=[PublicFileService]
# security/scopes=[]
# security/algorithm=AES/ECB/PKCS7
# security/algorithm=AES/CBC/PKCS7
security/algorithm=SM4/ECB/PKCS7
# security/algorithm=SM4/CBC/PKCS7

#是否启用更新
version/updateEnabled=true

#版本服务器地址
version/address=http://192.168.1.4:9705

#更新任务(requestPath,savePath,needRestart)
version/updateTasks = [update/app/configuration/client.properties,configuration/client.properties,true];fox

#APK更新任务(requestPath,savePath)
version/apkUpdateTasks=[update/app/apk,version/apk]

#trace上报设置
trace/address=http://139.199.79.118:9705
trace/appName=fox_base
trace/path=demo/collect/collectService
trace/enabled=false

# 定位配置
location/timeout=6000
location/baidu_key_android=sg7siLn7pZ9INi4sYLPimf3ITEqKHUVh
location/baidu_key_ios=heftZ5OzKhQztyEmmJOcxMG1NYxSZt8C
location/baidu_key_ohos=EHjdLh3vI1HftAlQYJoSIUUjFZkzcPxN

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43

web/mainApp:设置启动工程,可以设置为本地模式和远程模式

  • 本地模式:H5应用部署本地的workspace下,如worksapce/fox工程,那么配置为web/mainApp=fox
  • 远程模式: H5应用部署在远程的web服务上,如web/mainApp=http://192.168.146.20:5501/index.html

2、工作空间 workspace

workspace 里面放的是工程目录

§ 应用初始化

§ 依赖安装

打开VsCode的terminal,进行apps/fox_app

cd apps/fox_app
flutter pub get
1
2

§ 应用打包

flutter应用可以通过命令打包为不同平台的应用,但是在实际开发中,还是通过具体的平台专用IDE进行打包更加稳定,并且能够获取到更详细的错误信息。

§ Android

使用Adnroid Sudio打开apps/fox_app/android,进行打包。

§ iOS

使XCode打开apps/fox_app/ios,进行打包。

§ ohos(鸿蒙)

使DevEco-Studio打开apps/fox_app/ohos,进行打包。

§ 命令行支持

§ 构建发布版本

flutter build 命令用于构建 Flutter 应用程序,可以针对不同的平台生成相应的应用包。以下是具体的使用例子 默认构建一个 release


# ios
flutter build ios
flutter build ios --debug

# android
flutter build apk
flutter build apk --debug

# web
flutter build web
flutter build web --debug

# Windows
flutter build windows
flutter build windows --debug

# macOS
flutter build macos
flutter build macos --debug

# Linux
flutter build linux
flutter build linux --debug

# Harmony
flutter build hap
flutter build hap --debug
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28

§ 运行平台

1.默认设备运行: 直接在终端中输入 flutter run 命令,Flutter 会自动检测并选择一个已连接的设备或打开的模拟器来运行应用。 示例:

flutter run
1

2.指定设备运行: 使用 -d 参数后跟设备ID来指定要运行的应用程序的设备。 示例:

flutter run -d 5554
1

§ 清空构建缓存

Flutter 会缓存构建文件,清空缓存可以解决一些构建问题。

运行以下命令:

flutter clean
1

这会删除 build/ 目录和相关的缓存文件。

§ 构建失败或运行错误

构建失败或运行错误时 可以试一下,看下能不能解决 1.清理缓存:

flutter clean
1

2.更新升级Dart SDK和Flutter SDK,以及更新依赖项:

flutter upgrade
flutter pub upgrade
1
2

3.重新构建:

flutter pub get
flutter run
1
2

PS: 如果缓存库有问题,可以先清空依赖库,再重新执行1、2、3步骤。

运行以下命令会重新下载所有依赖(间接清空缓存):

flutter pub cache repair
1
最后更新于: 6/17/2025, 4:51:23 PM