无法使用app.xml中指定的图标导出AIR版本构建

时间:2012-04-27 07:26:39

标签: air packaging

当我尝试导出AIR版本时,我一直收到错误:

创建AIR文件时出错:Foo-app.xml:错误303:包中缺少图标/C:/Users/Fred/AppData/Local/Temp/assets/icon_16.png

目录如下:

Foo/
  src/
  assets/
  bin/

app-xml将图标指定为

<icon>
  <image16x16>assets/icon_16.png</image16x16>
  <image32x32>assets/icon_32.png</image32x32>
  <image48x48>assets/icon_48.png</image48x48>
<!-- <image128x128>assets/icon_128.png</image128x128>    -->
</icon>

我尝试移动bin /下的assets /目录并在标记中放置父代词(..)。

我将图像嵌入到应用程序中:

        [Embed(source="../assets/biocurious_logo.png")]
        public var applicationIconClass : Class;

        [Embed(source="../assets/biocurious_eye_16_16.png")]
        public var applicationIcon16Class : Class;

        [Embed(source="../assets/biocurious_eye_32_32.png")]
        public var applicationIcon32Class : Class;

        [Embed(source="../assets/biocurious_logo_48_48.png")]
        public var applicationIcon48Class : Class;

        [Embed(source="../assets/biocurious_logo_128_128.png")]
        public var applicationIcon128Class : Class;

编译器不会抱怨它无法找到文件。

我已经在这里完成了指定的搜索并使用了Google。我不知道下一步该尝试什么。

有什么想法吗?

4 个答案:

答案 0 :(得分:3)

当我将assets文件夹移动到src文件夹时,我解决了我的问题。

答案 1 :(得分:2)

我终于找到了解决这个问题的方法“包”

中缺少303 app.xml图标文件
  1. src 中创建 资产 文件夹而不是应用程序文件夹
  2. 尝试放置图标大小的所有版本

    <!-- The icon the system uses for the application. For at least one resolution, 
    specify the path to a PNG file included in the AIR package. Optional. --><icon>
    <image16x16>assets/icon16.png</image16x16>
    <image32x32>assets/icon32.png</image32x32>
    <image48x48>assets/icon48.png</image48x48>
    <image72x72>assets/icon72.png</image72x72>
    <image128x128>assets/icon128.png</image128x128></icon>
    
  3. 希望有所帮助

答案 2 :(得分:1)

所以有几件事情在我身上跳出来。

  1. 如果图像嵌入在应用程序中,您是否也尝试在部署/安装中以某种方式使用它(即桌面图标)?如果没有,那么你甚至不必将它作为部署包的一部分引用 - 这已经包含在swf中了。
  2. application.xml中的图像名称与您在代码中引用的源图像不同,也是不同的源路径(即../assets和assets /)。
  3. 如果其中任何一个都没有引导您走上正确的道路,您可以通过在标准压缩程序中打开它来验证.air文件中是否包含源代码(.air就像某个意义上的.swc一样。它只不过是一个拉链包装。)

答案 3 :(得分:1)

  1. 如果您使用[Embed(source =“/ images / info_emb.png”)]在应用程序中嵌入图像,则在应用程序中的其他位置使用相同的图像意味着它将不会存在于已发布的包中。
  2. 为每个图像使用单独的图像。