让AAuto快手发布应用自动使用UPX压缩程序
今天在AAuto官方技术群里,@CC真是活学活用,分享一段简单代码,其功能就是在快手发布应用的是还进行自动使用UPX压缩程序。 根据@CC的提示,我也画葫芦并优化一下,充分考虑逻辑性。具体如何自动化,请看下面的步骤以及代码。
步骤
1、先去upx官方网站(官方的开源,安全木有后门,放心)下载最新upx,下载地址:http://upx.sourceforge.net/#downloadupx 如下图所示
2、解压upx到你安装的AAuto目录里,比如完整路径如下 F:/Program Files/aauto/upx/upx.exe
3、找到快手的publish.aau文件并双击打开他,其相对路径是 /extensions/trigger/publish.aau, 比如我的完整路径是F:/Program Files/aauto/extensions/trigger/publish.aau
4、找到大概第79行代码,winform.btnExplorer.oncommand 触发事件,并做一下调整和修改。
winform.btnExplorer.oncommand = function(id,event){
winform.btnExplorer.text = "请稍候..."
winform.btnExplorer.disabled = true;
/*
Description: 浏览发布应用进行UPX压缩
Author:ninja911
Homepage: http://www.ninja911.com
*/
var file_compress = fsys.joinpath(getPublisDir(), ide.getProjectProperty("name") + "_compressed.exe" ); //重新定义upx压缩后输出的文件路径(包含文件名)
var file_upx = fsys.joinpath(io._exedir,"/upx/upx.exe"); //定义upx程序,官方原版下载地址http://upx.sourceforge.net/#downloadupx,选择upx308w.zip Win32/i386这个版本
if (io.exist(winform.editPublishPath.text)) { //如果存在原exe文件
win.delay(200); //延迟200毫秒
var cmd = '"'+ file_upx +'" -9 -q -k -o "'+ file_compress + '" "'+ winform.editPublishPath.text +'" '; //初始化命令
if (io.exist(file_compress)) fsys.delete(file_compress); //如果存在重定义的文件则删除
var prcs = process("", cmd, {flags = 0x1/*_STARTF_USESHOWWINDOW*/}); //创建通道进程,不弹出黑窗口
thread.wait(prcs.thandle); //等待进程结束
}
process.explore_select( winform.editPublishPath.text );
winform.close();
}
大功告成, 完成所有步骤,不必关闭快手IDE,可以马上打开一个项目main.aau试试了。在发布目录会自动生成一个xxxx\_compressed.exe文件,这就是经过upx压缩后的。 就发现利用UPX压缩后的程序文件大小只有原版的接近1/3了,这样有利程序通过网络传输,减少传输流量。
版权申明
本文系作者 @ninja911 原创发布在NinJa911 Blog站点。未经许可,禁止转载。
暂无评论数据