Adobe AIR教程for HTML/JAVASCRIPT开发者

最近不是太有空,加上泡网络时间太长,对新鲜事物的敏感度有所下降。因此当Adobe出了个AIR,我还是兴趣缺缺,没功夫去试用。

但是兴趣这玩意可能也有些生理周期,前几天突然来了神把这个AIR好好端详一番,却发觉网上暂时没有适合我这种初级新手看的AIR教程,鼓捣了几天,仍然是毫无进展,我甚至连个hello world之类的简单air package都打不出来。也许小时候特意去踩过狗屎,因此现在我又走上狗屎运,在即将放弃的前一刻找到了一篇比较细致的AIR教程,记录下来,好记性不如烂键盘。

俺目前的情况是,没有安装Dreamweaver,Flash之类的软件,只用一些免费软件,所以我只打算写html/javascript之类的代码,flash方面的暂时不涉及,另外adobe提供的dreamweaver air sdk也是用不上,可谓一穷二白。

第一步 — 安装Adobe AIR和Adobe AIR SDK

如果你还没装,可以去网站上下载Adobe AIR Runtime和Adobe AIR SDK.

装完Adobe AIR SDK以后,为了方便,你还需要把它的bin目录添加到系统的path变量下,这样你可以直接运行它的打包和debug工具。

第二步 — 创建一些目录

接下来创建一些目录来放置代码,比如:

/appname/
/appname/source/
/appname/source/icons/
/appname/build/

第三步 — 创建一个Application Descriptor

AIR需要一个Application Descriptor来描述它的内容和属性,这是一个XML格式的文件。

它的文件名是application.xml,放置在/appname/source/目录。


  com.example.appname 
  1.0 
  AppName 
  
    index.html 
    true 
    600
    600
  
  
    icons/appname-16.png
    icons/appname-32.png
    icons/appname-48.png
    icons/appname-128.png
  

这个xml文件很有些复杂,也很有一些历史,最可恶的是AIR beta1到后来的beta2乃至最后的1.0,从来就没统一过,变了又变,所以我在网上找到的一些教程都失效了,只能针对早期的beta版使用。

关于它的详细内容,可以参考模板,在adobe sdk安装目录下的templates/descriptor-template.xml.

第四步 — 创建你的应用

下一步,创建一个index.html.



  My Window Title


  

Hello World

如果需要添加css,javascript以及图片,可以在/appname/source/下创建子目录放进去,就像平常写web应用那样。

第五步 — 测试你的应用

如果你已经配置好了path环境变量(见第一步,需要重启电脑),下面很简单,首先打开一个命令行窗口,进入/appname/source/目录,然后运行:

adl application.xml

一切顺利的话,你的应用应该已经跑起来了,一个弹出的AIR应用窗口好不容易的展示它的第一次。

第六步 — 打包你的AIR应用

在很多磕磕碰碰,反复调试之后,你可能已经完成了应用,现在你准备向朋友或者网上的菜鸟炫耀一下你的处女作。那么我们开始打包,这一步其实比我想象的要简单。

首先需要生成一个签名Certificate,并放置在应用的根目录/appname/

adt -certificate -cn SelfSign -ou Dev -o “Example” -c US 2048-RSA cert.pfx 换成你的密码

然后就是进入source目录打包:

adt -package -storetype pkcs12 -keystore ../cert.pfx ../build/AirTest.air application.xml .

不出意外的话,会当场生成一个AppName.air文件,你可以安装一下感受亲手做的第一个Air应用。

原文:Adobe AIR Tutorial for HTML / JavaScript Developers

36 Replies to “Adobe AIR教程for HTML/JAVASCRIPT开发者”

  1. adt -certificate -cn SelfSign -ou Dev -o “Example” -c US 2048-RSA cert.pfx 换成你的密码??
    能将个参数说明一下吗??这里默认的密码是什么?而这个“签名Certificate”又是如何生成并放置在“/appname/”下的哦???

    • 这个密码是你自己定义的密码,随便写,比如password
    • 上面的命令行运行之后,会生成一个证书文件“cert.pfx”,手工复制过去就好
    • 参数说明太长了,建议看看air开发手册的这一部分“ADT command line signing options” on page30”或者 Creating a self-signed certificate with ADT
  2. 问题是我这边执行了adt -certificate -cn SelfSign -ou Dev -o “Example” -c US 2048-RSA cert.pfx 这句话后就没有生成“cert.pfx ”,而密码不分也不知道在哪个参数位置上填写,猜测可能是在”Example”这里写上自己的密码,问题是压根都不生成“cert.pfx ”文件。

  3. 以密码为password为例,你需要执行下面这段命令行

    adt -certificate -cn SelfSign -ou Dev -o “Example” -c US 2048-RSA cert.pfx password

  4. E:\Air\appname\source>adt -certificate -cn SelfSign -ou Dev -o “Example” -c US 2048-RSA cert.pfx 123

    unexpected failure: PKCS 12 storing not implemented
    java.io.IOException: PKCS 12 storing not implemented
    at com.sun.net.ssl.internal.ssl.PKCS12KeyStore.engineStore(Unknown Source)
    at java.security.KeyStore.store(Unknown Source)
    at com.adobe.air.CertificateCreator.create(CertificateCreator.java:157)
    at com.adobe.air.ADT.run(ADT.java:100)
    at com.adobe.air.ADT.main(ADT.java:29)

  5. 不知道错在什么地方,签名创建不成功。
    楼主帮我指点一下究竟是哪里不对好吗?

  6. 我的java sdk版本是这个:

    d:\>java -version
    java version “1.5.0”
    Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0-b64)
    Java HotSpot(TM) Client VM (build 1.5.0-b64, mixed mode, sharing)

  7. 不好意思,最近忙,所以一直没上来。
    想问个问题,这个是不是一定要Java啊?如果没有Java虚拟机的话,就不能用AIR了吗?

  8. 我想air runtime应该是不需要java的,但是air sdk的adt.bat是这样的内容:
    @java -jar "%~dp0\..\lib\adt.jar" %*

    所以air sdk是肯定需要java的

  9. “然后就是进入source目录打包:

    adt -package -storetype pkcs12 -keystore ../cert.pfx ../build/AirTest.air application.xml .

    不出意外的话,会当场生成一个AppName.air文件,你可以安装一下感受亲手做的第一个Air应用。”

    這裏出了意外,我輸入adt -package -storetype pkcs12 -keystore ../cert.pfx ../build/AirTest.air application.xml .後出現:

    at least one file is required

    是少了東西嗎?

  10. ../build/AirTest.air 这个是一个文件吧,怎么来的
    后来at least one file is required

  11. adt -package -storetype pkcs12 -keystore ../cert.pfx ../build/AirTest.air application.xml
    运行了这句
    他会出现
    password:

    然后就不动了。不给输入内容了。这是什么呢?

  12. adt -certificate -cn SelfSign -ou Dev -o “Example” -c US 2048-RSA cert.pfx abc

    这个后 生成了一个 cert.pfx 文件

    然后我再运行 adt -package -storetype pkcs12 -keystore ../cert.pfx ../build/AirTest.air application.xml

    他就出现 password:

    然后就不能输入东西了。

  13. 是呀 我的密码是 abc

    然后我再运行 adt -package -storetype pkcs12 -keystore ../cert.pfx ../build/AirTest.air application.xml

    他就出现 password:

    但是就停了。不能输入密码

    也没有生成 air的文件。

  14. 出现password:的时候,你就可以输入密码了
    这里输入的时候,还是会感觉卡在那里,输入完之前设置的密码后,按回车就可以了。
    =====================
    不过我按了回车,它提示我:
    could not load keystore file (password may be incorrect)
    usage:
    adt -checkstore SIGNING_OPTIONS
    adt -certificate -cn ( -ou )? ( -o )? ( -c )?
    adt -help
    adt -migrate SIGNING_OTIONS
    adt -package SIGNING_OPTIONS FILE_ARGS
    adt -prepare FILE_ARGS
    adt -sign SIGNING_OPTIONS
    adt -version

    SIGNING_OPTIONS: -storetype ( -keystore )? ( -storepass )?
    ( -keypass )? ( -providerName )? ( -tsa )?
    FILE_ARGS: * (( -C + ) | ( -e ))*

    并且也没有生成出来 请问为什么?

  15. 我明白了
    adt -package -storetype pkcs12 -keystore ../cert.pfx ../build/AirTest.air application.xml .
    这句里面cert.pfx路径不对 应该去掉”../”,而且需要把那几个png图标加上 才会编译成功!

  16. adl命令 根本就没有生成AirTest.air

    最后还是后来at least one file is required
    望楼主解答,非常感谢

  17. 楼主救命啊,我遇到和updatex一样的问题了

    我用的命令行来生成的adobe air文件
    前面一切正常,生成证书(cert.pfx)时 我设的密码为123456

    执行这个命令
    adt -package -storetype pkcs12 -keystore cert.pfx HelloWorld.air
    然后出现“password:”的时候,就可以输入密码了
    但在这里始终不能输入任何字符
    不过我按了回车,它就提示我下面这些:
    could not load keystore file (password may be incorrect)
    并且也没有生成出来 请问为什么?

  18. 我也遇到这个问题……
    password:
    could not load keystore file (password may be incorrect)
    usage:

  19. 前面一切正常,到这里
    adt -package -storetype pkcs12 -keystore ../cert.pfx ../build/AirTest.air application.xml
    出现“password:”的时候,就输入不了任何字符

Leave a Reply

Your email address will not be published.