`
whuthj
  • 浏览: 70184 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

绿化你的AIR程序

阅读更多

绿化你的AIR程序

       我们知道,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函数中的所有内容注释,并添加如下代码:

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目录及所有子文件,这样可以大大减小程序的体积。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics