让你的AIR程序脱离AIR环境运行
来源:互联网 发布:php接口文档怎么写 编辑:程序博客网 时间:2024/06/10 17:31
我们都很喜欢AIR,因为她很美丽,但又不敢使用AIR,因为难以推广,实在让人为难。
但是现在我们不再为难了,为什么?
因为我们已经找到了让AIR程序脱离AIR环境的方法。
首先,我们来分析一下AIR程序的运行机制,.air文件安装后会在安装目录生成一个.exe文件,此文件在启动时首先调用AIR运行时库Adobe AIR.dll。然后开始执行主程序.swf文件,那么我们就将这个Adobe AIR.dll文件提取出来使用。
事实上我们无法直接来使用这个文件,AIR程序不像C++程序那样把所有依赖项放在同一个目录就OK了,我们需要AIR的调试器adl.exe文件来启动我们的AIR程序。
好了,不多说了,让我们开始吧。
首先,下载AIR sdk,如果你电脑上安装了flex,也可以用Flex sdk3.0以上。如果你的Flash可以开发AIR程序,还可以到C:/ProgramFiles/Adobe/Adobe Flash CS3/AIK目录获得此AIRSDK。下面以FlashCS3为例讲解如何从命令行执行AIR程序。
打开Flash CS3,创建一个AIR程序保存在D:/AIRTest目录下,保存为AIRTest.fla,Ctrl+Enter运行程序,此时可以看到AIR窗口,关闭这个窗口。
选择Windows的 开始->运行,输入cmd打开dos窗口,首先设置环境变量路径:
set path=C:/Program Files/Adobe/Adobe Flash CS3/AIK/bin
回车,此环境变量设置成功,然后输入:
D:
回车,进入D盘根目录,然后输入:
cd D:/AIRTest
回车进入我们的工作目录,然后输入:
adl AIRTest-app.xml
回车,此时我们就可以看到出现了AIR窗口,不管你的电脑上是否安装AIR运行环境,用这种方法都可以打开此AIR窗口。
那么下面我们就提取adl.exe和Adobe AIR.dll来打包我们的程序。将C:/ProgramFiles/Adobe/Adobe FlashCS3/AIK目录下的bin目录和runtimes目录拷出来,随便放在一个地方,然后将bin目录下除adl.exe外的文件全部删除,再将runtimes目录下的除Adobe AIR.dll外的文件全部删除(这样做是为了减小打包文件的体积)。
将D:/AIRTest目录下的 AIRTest-app.xml 和 AIRTest.swf 文件拷到bin目录下与adl.exe放在一起,然后在adl.exe的父级目录创建一个批处理文件叫app.bat,在app.bat文件中输入以下代码:
@echo off
::转到当前盘符
%~d0
::打开当前目录
cd %~dp0
echo 已将程序定位到当前目录,开始启动AIR程序
::执行AIR程序,并向InvokeEvent事件传参数
bin/adl bin/AIRTest-app.xml -- %1
此时双击这个bat文件就可以执行我们的程序了。
为了让我们的程序更加完美的执行,我们还可以使用一个小软件叫 bat2exe,你可以百度一下,下载此软件,后面的就不用说了吧,可以使用幽灵模式来隐藏dos窗口,还可以为程序添加图标。
然后将所有需要的文件打包一下,你会发现压缩包小于3M,这是不是很爽呢?
测试文件下载:点击下载此文件
- 让你的AIR程序脱离AIR环境运行
- 让你的AIR程序脱离AIR环境运行
- )AIR程序打包/绿化,脱离air runtimes(AIR运行环境)的方法
- AIR程序打包/绿化,脱离air runtimes(AIR运行环境)的方法
- AIR程序绿化,脱离air runtimes(AIR运行环境)的方法
- 让你的AIR程序,被其他应用调用。
- 让你的AIR程序自动检测,下载,安装更新
- 让matlab程序脱离matlab环境运行
- FlashDevelop发布你的Air程序
- 如何将FLex AIR运行环境与AIR程序一起打包
- 使用winrar打包air程序为exe(包含air运行环境)
- 如何将FLex AIR运行环境与AIR程序一起打包
- 使用winrar打包air程序为exe(包含air运行环境)
- 如何将FLex AIR运行环境与AIR程序一起打包
- Flex Air 打包运行环境
- 检测air运行环境版本
- flex的AIR项目:如何让air运行时窗体始终居中?
- 【Abode Air程序开发】Flex air文件打包和运行
- MYSQL中关于insert语句速度的优化
- Android开发中实现跨进程通讯的AIDL接口
- int main(int argc,char *argv[])中两个参数的说明
- 判断多Frame网页是否真正加载完毕(CHtmlView)
- 农村资金互助社业务学习园地 卷首语
- 让你的AIR程序脱离AIR环境运行
- 如何理解 jQuery 的插件编写方式
- 学习Orange‘S笔记1
- tomcat下中文乱码
- ARP欺骗
- enum forward declaration
- 如何使tabcontrol选项卡上的字体设置为竖着显示(c#,VS2005,winform)
- Ant配置文件build.xml
- vb.net 中隐藏Printdocument“正在打印”窗口