flex air 打包成exe的几种方法和总结

本文介绍了一种无需安装Adobe运行环境即可运行AIR程序的方法。通过使用AIRDebugLauncher(adl)工具和简单的目录结构调整,配合MFC编写启动程序,实现了AIR程序的绿化过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

项目需求客户又不想安装adobe的运行环境想要在机器上运行flex air的程序。 ,AIR程序是需要要安装的,对于很多用户来说,这个功能很方便,但是对于某些不喜欢安装软件的用户来说很不爽,拿我来说,我就很不喜欢在自己电脑上安装软件,原因如下:

1.       怕被调戏(某些软件会自动安装工具条,开机启动什么的,还没法取消,有的软件的开机启动,禁用相关服务、修改注册表都不行)

2.       怕被强奸(某些软件会在强制安装一些自己不想要的东西)

3.       怕被搞大(某些软件安装会产生好多垃圾文件,还会在注册表中写入一些内容,这会让注册表变大,事实上,注册表越臃肿,电脑运行得越慢)

所以我们要学会如何绿化自己的AIR程序,让我们开始吧。

使用ADL

首先我们来认识一下如何使用AIR Debug Launcher(adl),这是一个AIR程序的调试连接器,我们为什么要用它?我们知道,在Flash或者FlashBuilder中调试AIR程序时并不需要安装AIR运行环境,所以知道了它的原理,我们就会绿化AIR程序了。

1.       随便找一个AIR文件,用 winrar打开它,并将它解压,比如解压在D:\airapp目录中,并将D:\airapp\META-INF\ AIR \application.xml文件也拷到D:\airapp目录中。

2.     打开window的命令行,输入

set path= C:\Progrem Files\Adobe\Adobe Flash Builder Beta 2\sdks\4.0.0\bin

说明:我们FlashBuilder2 beta是默认安装的。

现在输入adl回车会看到如下结果:


这说明我们的adl可用了,然后输入以下命令:

D: ::转到D盘根目录

cd D:\airapp ::打开AIR程序目录

adl application.xml ::启动air程序

说明:还可以加上相关的参数比如:adl application.xml –nodebug是不显示调试信息,这样air程序中如果出错,是不会弹出异常窗口的,adl application.xml – params可以向AIR程序中传入参数,air程序可侦听InvokeEvent.invoke事件来获得此参数。

绿化AIR程序

知道了以上原理,我想绿化AIR程序已经不是问题了,

a)         在D:\airapp目录下新建一个文件夹,命名为app,此目录用于存放我们的AIR主程序。

b)        把D:\airapp目录下的其它所有文件及文件夹都拷到D:\airapp\app目录中。

c)        然后我们把C:\Progrem Files\Adobe\Adobe Flash Builder Beta 2\sdks\4.0.0\bin目录中的adl.exe文件也拷到D:\airapp\app目录中。

d)        把C:\Progrem Files\Adobe\Adobe Flash Builder Beta 2\sdks\4.0.0\目录下的runtimes文件夹拷到D:\airapp目录中。

e)         此时我们在D:\airapp中创建一个app.bat文件,在其中输入以下代码:

app\adl app\application.xml,保存,然后双击此文件就可以启动我们的air程序。

用mfc写启动程序

       在实际的应用中,我们不可能用一个bat文件来做主程序,那么我们就用VC++来做此功能吧。

1.       打开vs2008,新建一个mfc工程,工程名可为MyAirLauncher。

2.       在应用程序类型选项中可选择基于对话框并且使用mfc静态编译,如下图所示:



点击“完成”创建工程。

3.     打开MyAirLauncher.cpp文件,将InitInstance函数中的所有内容注释,并添加如下代码:

TCHARfilePath[MAX_PATH];

    GetModuleFileName(NULL,filePath,MAX_PATH);

    basic_string<TCHAR> path=filePath;

    path=path.substr(0,path.find_last_of(L"\\"));

    SetCurrentDirectory(path.c_str());

WinExec("app\\adl.exe app\\application.xml -nodebug",SW_HIDE);

//WinExec("app\\blwh app\\WHJYFW-app.xml -nodebug",SW_HIDE);

保存并编译,然后将生成的MyAirLauncher.exe拷到D:\airapp目录中,双击此文件就可以运行我们的air程序了。

需要return true;

完成绿化

    好了,至此,所有绿化工作已经做完了,如果你的air程序没有使用webkit组件,那么完全可以删除D:\airapp\runtimes\air\win\Adobe AIR\Versions\1.0目录下Resources目录及所有子文件,这样可以大大减小程序的体积。

我一个搞java的装一vs平台 不务正业之极

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值