用flutter写一个windows版安卓多渠道生成器

218 阅读1分钟

先放图:

image.png

image.png

image.png

由于工作需求,需要做一个桌面版本的多渠道生成器,考虑到flutter已正式支持windows桌面版,便决定用flutter来实现。

环境配置

1、在 Windows 操作系统上安装和配置 Flutter 开发环境

2、安装go,hover来实现打包成exe

选择文件

在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_providergetApplicationDocumentsDirectory方法可以获取到应用的文档目录,把jar包复制到这个路径后,再执行这个路径下的jar包就可以了。

生成成功打开对应目录

使用open_file这个库可以实现。

生成exe

执行:flutter build windows 在build/windows/runner/Release下会生成运行包文件夹,把这个包分享给别人就可以运行了:

image.png