我是新来AdobeAir。 我开始用的HelloWorld应用程序只是简单地跟着下面的链接。
http://help.adobe.com/en_US/air/build/WS144092a96ffef7cc4c0afd1212601c9a36f-8000.html
我能够编译HelloWorld.mxml的成功文件,但我不能够通过以下命令ADL的HelloWorld-app.xml中运行应用程序。 该错误消息说..错误而加载初始内容。
我还附上了HelloWorld-app.xml的
<?xml version="1.0" encoding="UTF-8"?>
<application xmlns="http://ns.adobe.com/air/application/1.0">
<id>samples.flex.HelloWorld</id>
<version>0.1</version>
<filename>HelloWorld</filename>
<initialWindow>
<content>HelloWorld.swf</content>
<visible>true</visible>
<systemChrome>none</systemChrome>
<transparent>true</transparent>
<width>400</width>
<height>200</height>
</initialWindow>
</application>
和HelloWorld.mxml的是
<?xml version="1.0" encoding="utf-8"?>
<s:WindowedApplication xmlns:fx="http://`enter code here`ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
title="Hello World">
<s:Label text="Hello AIR" horizontalCenter="0" verticalCenter="0"/>
</s:WindowedApplication>
请帮我。
根据这篇博客 ,你应该检查是否在了HelloWorld-app.xml的命名空间线的AIR版本相匹配。
例如,与前来与Flex 4.6分布MXML / ADL工具,正确的命名空间线似乎是
<application xmlns="http://ns.adobe.com/air/application/3.1">
这也是必要的,您使用mxmlc或amxmlc编译不是来自比ADL一个较新的SDK。
例如,您不能运行使用Flex 4.6从AIR 2.6 ADL编译AIR应用程序,你需要的Flex 4.5工具这一点。
谢谢你,你的回答有助于解决我的IntelliJ IDEA的和最新的Flex / AIR包问题。 为了解决这个错误,我不得不为我的模块修改应用程序描述符文件,因为自动生成一个有此设置:
<application xmlns="http://ns.adobe.com/air/application/2.0">
这里所需要的步骤来创建一个自定义应用程序描述符文件:
文件- Projext结构-模块- AIR包-自定义模板-创建
选择你的最小版本的AIR(实际上是Flex的4.10,我认为这是AIR 3.8)和你的模块将编译和运行没有问题。
见截图在这里
中找到的AIR命名空间数量xmlns
只是故事的一半。 定义显示该内容所需的最低限度运行时版本。 故事的另一半是什么-swf-version
是编译的内容。
如果SWF与较新的编译-swf-version
比空气ADL可以处理,你会“加载初始内容的错误”的消息得到。
我从拿起这台另一种答案 ,并加入AIR版本信息( 源 ):
SWF Version | Flash Player Version | AIR Version
---------------+------------------------+---------------
9 | 9.0.115.0 | N/A
10 | 10.0, 10.1 | 1.5, 2.0
11 | 10.2 | 2.6
12 | 10.3 | 2.7
13 | 11.0 | 3
14 | 11.1 | 3.1
15 | 11.2 | 3.2
16 | 11.3 | 3.3
17 | 11.4 | 3.4
18 | 11.5 | 3.5
19 | 11.6 | 3.6
20 | 11.7 | 3.7
21 | 11.8 | 3.8
22 | 11.9 | 3.9
23 | 12 | 4
24 | 13 | 13
25 | 14 | 14
26 | 15 | 15
27 | 16 | 16
28 | 17 | 17
29 | 18 | 18
30 | 19 | 19
31 | 20 | 20
32 | 21 | 21
33 | 22 | 22
34 | 23 | 23
35 | 24 | 24
36 | 25 | 25
37 | 26 | 26
38 | 27 | 27
39 | 28 | 28
40 | 29 | 29
41 | 30 | 30
42 | 31 | 31
您可以确定-swf-version
使用的SWF文件的swfdump
包含在Flex和AIR的SDK工具。
> swfdump example.swf | grep -i '<swf'
<swf xmlns='http://macromedia/2003/swfx' version='18' framerate='24' size='10000x7500' compressed='false' >
上述SWF与编译-swf-version=18
,因此将需要AIR 3.5或更高版本,并xmlns="http://ns.adobe.com/air/application/3.5"
还要注意的是较新的工具仍然可以将旧的-swf-versions
。 所以,你可以建立与旧的AIR和Flash播放器兼容SWF文件。 只是要注意检查你的文档中使用这些API。 一些较新的API(如BitmapData.drawWithQuality )列出下运行时版本最低播放器版本要求。