绿化你的air文件程序

http://hi.baidu.com/fsnhf/blog/item/252dba0e1eaa64c07bcbe110.html

我们知道, AIR 程序是需要要安装的,对于很多用户来说,这个功能很方便,但是对于某些不喜欢安装软件的用户来说很不爽,拿我来说,我就很不喜欢在自己电脑上安装软件,原因如下:

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

2.       怕被**(某些软件会在强制安装一些自己不想要的东西),这两字javaeye不让用

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 回车会看到如下结果:

绿化你的air文件程序

这说明我们的 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 静态编译,如下图所示:

绿化你的air文件程序

点击“完成”创建工程。

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

TCHAR filePath [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 );

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

完成绿化

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

你可能感兴趣的:(xml,Flash,mfc,Adobe,AIR)