我们都很喜欢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:\Program Files\Adobe\Adobe Flash CS3\AIK目录获得此AIRSDK。下面以Flash CS3为例讲解如何从命令行执行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:\Program Files\Adobe\Adobe Flash CS3\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,这是不是很爽呢?

转载于:https://www.cnblogs.com/xiayong123/archive/2011/12/15/3717169.html

让你的AIR程序脱离AIR环境运行相关推荐

  1. What?小程序居然可以脱离微信环境运行

    小程序≠微信小程序 说到小程序,大部分的读者第一反应,可能是微信小程序.支付宝小程序,确实,小程序的概念深入人心,并且已经被约定俗成的绑定到某些互联网公司的App上. 但是,"小程序&quo ...

  2. python脱离环境运行_python 生成exe脱离python环境运行

    1. 简介 python 程序编写完之后需要进行打包成exe发布,不暴露源码,目前主要打包的工具有三种: 1) PyInstaller(推荐) 2) cx_Freeze 3) py2exe PyIns ...

  3. python脱离环境运行_脱离Python环境运行的问题所使用的工具介绍

    如果你对脱离Python环境运行中存在不解之处时,就可以浏览以下的文章对如何脱离Python环境运行的相关实际操作,希望你在浏览完下面的文章对其有个相关的了解,以下就是文章的具体描述. 关于脱离Pyt ...

  4. .NET程序脱离.NET Framework 运行之道

    Net 框架目前逐步在普及了,仍然有很多人在寻找如何让.NET程序脱离.NET框架的方法. 经过我实验后,可行的方式有以下两种: 利用飞信的框架来加载.NET程序 使用Salamander .Net ...

  5. Jar 打包 EXE文件,可以脱离java环境运行 Jsmooth的使用

    1.首先准备我们的资源,把要转换的Jar文件.精简过的JRE文件夹和想生成的EXE文件的图标(可以是png,jpg等格式,不想加图标可以不弄)放到同一个文件夹内.这一步一定要做,否则可以成功生成,但在 ...

  6. 使用MONO使.net程序脱离.net框架运行

    原文:http://www.cnblogs.com/daylight/archive/2008/10/02/1303037.html 其实就是换mono的公共语言运行时来使用.这样做的好处是体积小,发 ...

  7. )AIR程序打包/绿化,脱离air runtimes(AIR运行环境)的方法

    首先,说明一下AIR程序的运行机制: .air文件安装后会在安装目录生成一个.exe文件,此文件在启动时首先调用AIR运行时库Adobe AIR.dll.然后开始执行主程序.swf文件. 事实上我们无 ...

  8. 转载:使用飞信VMDotNet使C#程序脱离.NET FRAMEWORK也能运行的一些心得

    昨天晚上奋斗到两点,做完了一个图片处理软件,突然想到上次上网看到C#程序脱离.NET FRAMEWORK运行的文章,于是决定自己动手试一下.        之前看到有用别的方法来实现的,但我还是选择了 ...

  9. 使用飞信VMDotNet使C#程序脱离.NET FRAMEWORK也能运行的一些心得 ------(我复制别个的)

    使用飞信VMDotNet使C#程序脱离.NET FRAMEWORK也能运行的一些心得 昨天晚上奋斗到两点,做完了一个图片处理软件,突然想到上次上网看到C#程序脱离.NET FRAMEWORK运行的文章 ...

最新文章

  1. java input 数组_Java基础之:数组
  2. 前戴尔EMC中国研究院院长创业:推出AI加速虚拟化平台,开发者可免费使用
  3. ‘torch.nn‘ has no attribute ‘SiLU‘
  4. Java基础——Servlet(六)分页相关
  5. django model数据 时间格式
  6. Gartner:2013-2014年全球MSS市场分析
  7. linux下vim编辑器快速掌握方法
  8. element-ui表单验证:用户名、密码、电话、邮箱
  9. c++byte数组和文件的相互转换_经常对文件相互转换,全能转换工具,解决办公中遇到的所有难题...
  10. android hook底层代码_Java-Hook技术-入门实践(反射、动态代理)-Hook拦截通知(当前App/Context)...
  11. 值不值得入手_北龙湖—值不值得入手?
  12. Postgresql的一些命令
  13. 语音识别算法_开源语音识别算法_语音 识别 - 云+社区 - 腾讯云
  14. docker集群部署dble
  15. 安装完Fedora 18后需要做的事情
  16. 【chrome】Chrome源码剖析、上--多线程模型、进程通信、进程模型
  17. 编程语言-2-处理器架构、指令集和汇编语言
  18. html5语义化标签及优点
  19. 计算机一级试题库原题吗,全国计算机一级考试试题库(20210207022735)
  20. el-input-number 默认值设置失效

热门文章

  1. ACM Smallest Difference
  2. Java Collection
  3. Hadoop项目实战-用户行为分析之应用概述(二)
  4. ZOJ 3829 Known Notation(贪心)
  5. Android网络连接监听
  6. 在项目中遇到的一些bug
  7. 敏捷个人教你如何制作2012生活看板
  8. DOM 4.1 规范成为候选推荐标准陷困境,只因巨头齐反对
  9. Hive自定义UDF和聚合函数UDAF
  10. openssh for windows