编译AIR文件303 ERROR问题的解决

  • 本站文章除注明转载外,均为本站原创或者翻译。
  • 本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也尊重你的智商;
  • 本站部分原创和翻译文章提供markdown格式源码,欢迎使用文章源码进行转载;
  • 本博客采用 WPCMD 维护;
  • 本文标题:编译AIR文件303 ERROR问题的解决
  • 本文链接:http://zengrong.net/post/582.htm

环境:Flex Builder 3.02,Flex SDK 3.2,AIR SDK 1.5

编译AIR文件中使用了自定义图标,编译过程中Flex Builder报错如下:

Error creating AIR file:303:Error,……

error303

百思不得其解。因为我分别自定义了 16x16、32x32、48x48、128x128 这4种大小的图标,后两个没有报错,为什么前两个报错呢?

4个图标都使用Fireworks制作,应该也不存在编码问题。

google上搜索了两条相关的问题讨论,未果:

swf文件是可以编译成功的,只是在最后一步AIR打包的时候出错。AIR其实本质就是zip。查看打包前的文件内容,发现icon16和icon32这两个文件并没有被载入进入需要打包的列表中。

建立AIR文件,选择内容

在打包前手工添加这两个文件,打包可以成功。

既然手工添加可以,那为什么在编译的时候,Flex Builder不自动把这两个文件加入资源包中呢?文件名称路径都没有任何错误啊!

忽然想到前几天orphen告诉我,“苍蝇不叮无缝的蛋”,计算机本没有错,如果出错,那一定是我错了。

此时灵光一现,“冲突”二字突然浮现与我的脑海,世上万物此消彼长,因此才有 汉正街大火投诉物业公司 ,若无冲突,怎可体现和谐之美?

想到此处,我茅塞顿开,原来问题还是出于我身!不禁自责不已,深为自己对业余代码民工这个如此有前途之职业之不敬而后悔。想到代码中在AIR窗口图标与任务栏图标中确实引用过这两个图标文件,应该是在最终打包的过程中,由于代码与配置文件两处同时引用这两个文件,造成冲突,导致无法将这两个文件打包。

embedicon16

解决方法很简单,把icon16.png与icon32.png复制并改名即可。我是这么做的:

<icon>
  <image16x16>assets/icon1616.png</image16x16>
  <image32x32>assets/icon3232.png</image32x32>
  <image48x48>assets/icon48.png</image48x48>
  <image128x128>assets/icon128.png</image128x128>
</icon>

kao!白白浪费我2小时……