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/目录。
<application xmlns="http://ns.adobe.com/air/application/1.0">
<id>com.example.appname </id>
<version>1.0 </version>
<filename>AppName </filename>
<initialWindow>
<content>index.html </content>
<visible>true </visible>
<width>600</width>
<height>600</height>
</initialWindow>
<icon>
<image16x16>icons/appname-16.png</image16x16>
<image32x32>icons/appname-32.png</image32x32>
<image48x48>icons/appname-48.png</image48x48>
<image128x128>icons/appname-128.png</image128x128>
</icon>
</application>
这个xml文件很有些复杂,也很有一些历史,最可恶的是AIR beta1到后来的beta2乃至最后的1.0,从来就没统一过,变了又变,所以我在网上找到的一些教程都失效了,只能针对早期的beta版使用。
关于它的详细内容,可以参考模板,在adobe sdk安装目录下的templates/descriptor-template.xml.
第四步 — 创建你的应用
下一步,创建一个index.html.
<html>
<head>
<title>My Window Title</title>
</head>
<body>
<h1>Hello World</h1>
</body>
</html>
如果需要添加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
作者: Volcano 发表于March 24, 2008 at 8:52 am
kulala 于 2008-03-24 @ 11:11:55 留言 :
adt -certificate -cn SelfSign -ou Dev -o “Example” -c US 2048-RSA cert.pfx 换成你的密码??
能将个参数说明一下吗??这里默认的密码是什么?而这个“签名Certificate”又是如何生成并放置在“/appname/”下的哦???
volcano 于 2008-03-24 @ 11:58:32 留言 :
paravoice 于 2008-03-24 @ 12:55:13 留言 :
Application Descriptor Reference:
http://livedocs.adobe.com/labs/air/1/devappsflex/help.html?content=CommandLineTools_5.html#1035876
Flex3 Document:
http://livedocs.adobe.com/flex/3/flex3_documentation.zip
kulala 于 2008-03-24 @ 20:02:40 留言 :
问题是我这边执行了adt -certificate -cn SelfSign -ou Dev -o “Example” -c US 2048-RSA cert.pfx 这句话后就没有生成“cert.pfx ”,而密码不分也不知道在哪个参数位置上填写,猜测可能是在”Example”这里写上自己的密码,问题是压根都不生成“cert.pfx ”文件。
volcano 于 2008-03-24 @ 20:48:58 留言 :
以密码为password为例,你需要执行下面这段命令行
tomphp 于 2008-04-23 @ 17:06:12 留言 :
运行成功 谢谢 希望楼主多谢点关于AIR的文章哦
Jay 于 2008-05-15 @ 15:09:50 留言 :
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)
Jay 于 2008-05-15 @ 15:11:40 留言 :
不知道错在什么地方,签名创建不成功。
楼主帮我指点一下究竟是哪里不对好吗?
volcano 于 2008-05-15 @ 20:28:32 留言 :
你的java sdk是什么版本
Jay 于 2008-05-19 @ 09:50:27 留言 :
我的java sdk是1.4版本
volcano 于 2008-05-19 @ 11:41:42 留言 :
我的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)
Jay 于 2008-05-30 @ 16:50:37 留言 :
不好意思,最近忙,所以一直没上来。
想问个问题,这个是不是一定要Java啊?如果没有Java虚拟机的话,就不能用AIR了吗?
volcano 于 2008-05-30 @ 17:02:32 留言 :
我想air runtime应该是不需要java的,但是air sdk的adt.bat是这样的内容:
@java -jar "%~dp0\..\lib\adt.jar" %*所以air sdk是肯定需要java的
fenix 于 2008-06-02 @ 15:43:25 留言 :
“然后就是进入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
是少了東西嗎?
volcano 于 2008-06-02 @ 16:26:53 留言 :
这段命令的最后有一个点.,表示将当前目录打包,你看看是不是少了什么
张仁伟 于 2008-07-25 @ 16:44:52 留言 :
../build/AirTest.air 这个是一个文件吧,怎么来的
后来at least one file is required
Volcano 于 2008-07-25 @ 23:12:45 留言 :
AirTest.air是通过之前的adl命令生成的
adl application.xml你得在source目录下执行这一行命令
ggcm 于 2009-01-22 @ 22:35:04 留言 :
不容易啊..终于搞掂了!~
updatex 于 2009-05-08 @ 07:52:56 留言 :
adt -package -storetype pkcs12 -keystore ../cert.pfx ../build/AirTest.air application.xml
运行了这句
他会出现
password:
然后就不动了。不给输入内容了。这是什么呢?
Volcano 于 2009-05-08 @ 09:23:55 留言 :
提示你输入之前用命令行生成的密码呢
updatex 于 2009-05-08 @ 09:29:53 留言 :
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:
然后就不能输入东西了。
Volcano 于 2009-05-08 @ 11:17:26 留言 :
在这个时候输入 abc , 然后回车
因为从上一行来看,你设置的密码就是abc。
updatex 于 2009-05-10 @ 13:53:41 留言 :
是呀 我的密码是 abc
然后我再运行 adt -package -storetype pkcs12 -keystore ../cert.pfx ../build/AirTest.air application.xml
他就出现 password:
但是就停了。不能输入密码
也没有生成 air的文件。
漫无目的 于 2009-06-25 @ 01:21:38 留言 :
出现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 ))*
并且也没有生成出来 请问为什么?
漫无目的 于 2009-06-25 @ 01:23:30 留言 :
密码肯定是正确的。但好像就是提示错误?
漫无目的 于 2009-06-25 @ 01:31:38 留言 :
我明白了
adt -package -storetype pkcs12 -keystore ../cert.pfx ../build/AirTest.air application.xml .
这句里面cert.pfx路径不对 应该去掉”../”,而且需要把那几个png图标加上 才会编译成功!
jarvis 于 2009-08-03 @ 19:35:30 留言 :
adt -package -storetype pkcs12 -keystore cert.pfx HelloWorld.air
application.xml index.html
jarvis 于 2009-08-03 @ 19:36:16 留言 :
将所有的文件都放在source下,不用那么多文件
air 于 2009-09-10 @ 11:48:20 留言 :
adl命令 根本就没有生成AirTest.air
最后还是后来at least one file is required
望楼主解答,非常感谢
Volcano 于 2009-09-10 @ 21:37:07 留言 :
adl仅仅是试运行,不会生成air文件。后面的adt打包之后才有效。
唐明 于 2009-09-13 @ 02:50:54 留言 :
楼主救命啊,我遇到和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)
并且也没有生成出来 请问为什么?
Volcano 于 2009-09-14 @ 10:22:46 留言 :
看看你的jdk版本,我之前试过jdk 1.4有类似问题,把版本升上去
dodo 于 2011-03-09 @ 11:14:03 留言 :
我也遇到这个问题……
password:
could not load keystore file (password may be incorrect)
usage:
mentalism 于 2011-05-11 @ 19:18:25 留言 :
前面一切正常,到这里
adt -package -storetype pkcs12 -keystore ../cert.pfx ../build/AirTest.air application.xml
出现“password:”的时候,就输入不了任何字符