转载自:flutter桌面应用从开发配置到打包分发 - 掘金 (juejin.cn)
五.打包
1.创建 release 版本的应用
flutter build release
执行完成后,
release包位置在项目的build->windows->runer文件夹中
2.应用程序分发
Windows
为 Windows 平台构建压缩包文件
你可以在项目中的 {项目目录}\build\windows\runner\Release
看到可执行文件。除了该可执行文件之外,你还需要以下内容:
-
从相同的目录:
-
所有的
.dll
文件 -
data
文件夹 使用inno setup制作安装包Downloads
-
- 打开inno setup, 选择Create a new script file using the Script Wizard
2.填写应用名,应用版本,发布厂商,应用官网,填写一下进入下一步
3.安装位置,文件名称
4.选择打包文件
- Application main executable file 要选择Release下的
.exe
文件。 - Other application files框的Add file(s)选择 Release文件夹下的所有的
.dll
文件。 - Add folder选择Release\data文件时会询问“是否包含子文件夹”,这里要选择"是"。(
这里需要注意的是直接选择data文件夹打包后会丢弃data当前目录,所以我们新建一层temp文件夹,data文件夹作为temp的子目录
)
5.证书信息,按需填写(也可不填)
6.这里选择输出的路径,输入的exe名称和exe文件的icon,安装密码,按需填写.
7.下一步点击finish会有如下界面,这里选择"是"。
8.输入脚本保存名称,然后会开始编译,完成后会输出在第6选择的输出目录中
9.输出安装包.exe
文件, 双击安装就ok了,也可以分发给其他人.
10、注意
启动应用后,报错缺少 msvcp140.dll、vcruntime140.dll、vcruntime140_1.dll 文件
解决该问题,首先需要在开发机上(编译所用的 Windows 电脑),从 C:/Windows/System32
目录下找到这个文件,拷贝到项目的 windows
目录中
然后在 windows/CMakeLists.txt
文件中添加以下内容
install(FILES "msvcp140.dll" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
CONFIGURATIONS Profile;Release
COMPONENT Runtime)
install(FILES "vcruntime140.dll" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
CONFIGURATIONS Profile;Release
COMPONENT Runtime)
install(FILES "vcruntime140_1.dll" DESTINATION "${INSTALL_BUNDLE_LIB_DIR}"
CONFIGURATIONS Profile;Release
COMPONENT Runtime)
然后重新编译应用即可