先放图:
由于工作需求,需要做一个桌面版本的多渠道生成器,考虑到flutter已正式支持windows桌面版,便决定用flutter来实现。
环境配置
1、在 Windows 操作系统上安装和配置 Flutter 开发环境
选择文件
在windows上选择文件有现成的库:file_selector
多渠道生成
多渠道生成的实现,是通过美团开源的多渠道生成工具:walle
通过命令行的形式调用walle提供的jar文件。
flutter的process_run这个库提供了在windows/linux/mac上执行命令行的能力。通过这个库执行walle提供的命令就可以了。
更新:process_run这个库在执行后,无法拿到执行报错的内容,因此更换为使用
Process process = Process.run("command",[],runInShell:true)
这种方式来执行。根据执行返回的process的errText是否为空来判断是否执行成功就可以了。
有一个比较麻烦的点是,如何获取jar包的路径,在本地运行的时候,我们可以写死路径,如果在别人的pc上运行呢?最终我的解决方案是把这个jar包放在asset中,在运行时,复制到某个目录:
通过path_provider的getApplicationDocumentsDirectory
方法可以获取到应用的文档目录,把jar包复制到这个路径后,再执行这个路径下的jar包就可以了。
生成成功打开对应目录
使用open_file这个库可以实现。
生成exe
执行:flutter build windows
在build/windows/runner/Release下会生成运行包文件夹,把这个包分享给别人就可以运行了: