§ Fox4.0外壳教程-应用打包
§ 说明
Fox4.0外壳能够分别编译打包为不同平台上的应用,目前支持的平台如下:
- Android
- iOS
- ohos(鸿蒙)
- Windows
- Linux
- Mac
§ H5应用版本更新
应用的配置和初始的H5应用放目录apps/fox_app/assets/version下,version目录的结构如下:
.
├── fox_app.zip
└── version.json
2
3
- fox_app.zip 为压缩后的版本文件
- version.json 文件记录了版本信息
fox_app.zip的名称,是由version.json文件设置的。
version.json中的内容
{
"name": "fox_app",
"version": "0.0.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
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
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
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
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
2.指定设备运行: 使用 -d 参数后跟设备ID来指定要运行的应用程序的设备。 示例:
flutter run -d 5554
§ 清空构建缓存
Flutter 会缓存构建文件,清空缓存可以解决一些构建问题。
运行以下命令:
flutter clean
这会删除 build/ 目录和相关的缓存文件。
§ 构建失败或运行错误
构建失败或运行错误时 可以试一下,看下能不能解决 1.清理缓存:
flutter clean
2.更新升级Dart SDK和Flutter SDK,以及更新依赖项:
flutter upgrade
flutter pub upgrade
2
3.重新构建:
flutter pub get
flutter run
2
PS: 如果缓存库有问题,可以先清空依赖库,再重新执行1、2、3步骤。
运行以下命令会重新下载所有依赖(间接清空缓存):
flutter pub cache repair