先说要求:
1、不超过 10 句代码。
2、无任何复杂步骤,不需要手动下载配置任何东西。
3、一键生成独立 EXE 文件,打包后仅 2MB 多。
4、调用强大的下载组件 aria2 ,自动优化配置,自动设置 UPnP 端口转发。
5、调用漂亮且容易使用的 AriaNg 实现前端界面。
首先,打开 aardio 创建空白工程:
粘贴以下代码到 main.aardio 文件:
import win.ui;
var winform = win.form(text="aria下载器");
//启动 aria2
import process.aria2;
process.aria2().startServer();
//创建浏览器
import web.view;
var wb = web.view(winform);
//打开网页前端
import web.ariaNg;
wb.go( web.ariaNg.defaultUrl );
//显示主窗口
winform.show(3);
win.loopMessage();
点击『保存 Ctrl +S』按钮:
然后按『运行 F5 』按钮,就可以自动配置好扩展库,并且启动程序。
运行效果:
按 F7 发布为 EXE 文件。
注意 aria2 要小写,Aria2 是错的。aardio 兼容 64 位 或 32 位 aria2 ,可以任意替换不需要更改代码。
关于发布 EXE,说一件小事。
因为有用户问小狼毫不支持 ImTip 的事,我就去看了一下发现小狼毫项目主页的最新版已经解决了这个问题。
本想下载试一下,但下载时误报被干掉了。然后下载到信任目录,安装时又报安装的 EXE 是病毒,太累就没再弄了。
网上可以看到很多不同编程语言开发的软件都大量出现类似的误报问题。就不说别的,著名的界面库 Sciter 官网上下载 Sciter.dll 好几次都被当病毒干掉,这还只是 DLL 文件,何况你是 EXE ?
这个问题困扰了很多开发者,但解决这个问题并不难。
容易让人迷惑的地方:
不同编程语言生成的 EXE 出现误报的规律可能不同,例如 C++ 写个空白程序可能真没误报 —— 就好比一个人不穿衣服自然没人怀疑他口袋里有什么。
现在有很多基于虚拟机的语言生成 EXE 自然不能去对比 C++写的裸 EXE,误报会更早出现 —— 但这并不是坏事。
无论什么编程语言,只要实现了一定的功能,只要有了那么一点点用户量,不会需要太久,误报就来了。
举个实际的例子,如果你用 C++ 写个 WubiLex,ImTip 你还能不去过白,不发生误报吗?这是不可能的!
但 aardio 写的 WubiLex ,即使有开机自启、管理权限、替换系统文件这些功能 —— 仍然可以通过系统杀毒软件的检测,安全无误报。
这很简单。
可以看看 aardio 开始页的教程,提交过白操作非常简单。
提交以后还误报?改点代码再提交一下,基本都能过。
一般只要过系统自带的杀毒软件就足够了。
不要介意在扫毒平台上看到某个很少人用的杀毒软件的出现误报了,除了程序员自己,或者这些扫毒平台,普通用户很少有动力折腾这些杀毒软件了。
在软件主页写很长的误报声明,却不去做一下简单的提交清除误报,这基本上只会把普通用户吓跑。
如果只是自用那就更简单,aardio 生成 EXE 会自动设置信任路径,不会有这些问题。