3

当我尝试导出发布版 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;

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

我已经在这里完成了指定的搜索,并且通常使用谷歌。我不知道接下来要尝试什么。

有任何想法吗?

4

4 回答 4

3

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

于 2012-10-09T14:59:15.133 回答
2

我终于找到了这个问题“303 app.xml icon file is missing in package”的解决方案

  1. src中创建assets文件夹而不是 application 文件夹
  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>
    

希望能帮助到你

于 2013-08-11T08:43:07.943 回答
1

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

  1. 如果图像嵌入在应用程序中,您是否也尝试在部署/安装中以某种方式使用它(即桌面图标)?如果没有,那么您甚至不必将它作为部署包的一部分引用——这已经包含在 swf 中。
  2. application.xml 中的图像名称与您在代码中引用的源图像不同,并且它的源路径也不同(即 ../assets 和 assets/)。

如果这些都没有引导您走上正确的道路,您始终可以通过在标准压缩程序中打开 .air 文件来验证其中是否包含源文件(.air 很像 .swc,因为它什么都不是不仅仅是一个压缩包)。

于 2012-04-27T13:34:54.333 回答
1
  1. 如果您使用 [Embed (source="/images/info_emb.png" )] 在应用程序中嵌入图像,那么在应用程序的其他位置使用相同的图像意味着它不会存在于已发布的包中。
  2. 为每个使用单独的图像。
于 2013-07-03T07:58:56.357 回答