使用adt.jar打包时,将应用程序图标添加到应用程序中:如何?

使用adt.jar打包时,将应用程序图标添加到应用程序中:如何?

问题描述:

我使用flash builder制作了带有图标的应用程序,一切都很好。使用adt.jar打包时,将应用程序图标添加到应用程序中:如何?

现在我必须用adt(空气开发工具)构建另一个应用程序,但是我遇到了奇怪的问题。

  1. 如果我只是相对路径图标“SRC”文件夹中的应用程序描述符(像往常一样)的地方,它说: error 303: Icon icon.png is missing from package

  2. 如果我在应用程序描述符中使用没有路径的icon.png,然后将该文件放到任何位置(根目录,资产,src,构建目标等),它再次表示error 303: Icon icon.png is missing from package

  3. 如果我尝试将图标路径添加到像<arg value="icon.png"/>这样的adt参数(并将其放到输出文件夹中,因为看起来所有路径都与我的情况相对),它表示The path icon.png is restricted. If you were trying to package Icon.png you should correct the case

  4. 当我指向原始文件位置(<arg value="../src/assets/icon.png"/>)时,它输出File ..\src\assets\icon.png is not relative to directory E:\projQ\flex\MyProject\bin(这个bin目录实际上是输出目录)。我读过,这是由于一些沙箱限制在Adobe论坛未经批准的评论,但我不太确定在沙盒中存在ADT(如果存在的话,那么为什么?)

那么,是什么我应该如何成功将图标添加到该应用程序? 我想使用像resHacker这样的工具来设计项目的.exe将无济于事,因为.exe只是.swf文件的启动程序,无论如何,我认为这种糟糕的方式会导致编程的黑暗面。

(P.S.不能添加与adobe相关的'adt'标记,而不是android。)

不错。最后我找到了解决方案。因此,使用adt手动包装时包含图标的要求为:

  1. 将文件名添加到应用程序描述符而不使用任何..
  2. 我求求你,甚至不要试图命名你的图标文件icon.png。这是显而易见的名字,并且对于adt的创作者来说显而易见。因此,他们似乎将某些文件重命名为icon.png或将输出生成到此文件。或者把这个文件放到由adt作为根用户使用的目录的某个子目录中。实际上,错误输出完全告诉你避免使用path icon.png。 Correct the case短语(使我困惑)意味着rename your icon or move it deeper in directory hierarchy
  3. 添加路径到您的图标作为命令行参数adt

生成后,您会在生成的输出文件夹中看到您的图标。您可以将其删除,并且应用程序仍将按照预期与您的图标一起显示。

这更多的是对上述答案的第一点进行阐述,以澄清像我这样一直在为这个问题而努力的人。

错误读取“不是相对于目录”,但它的意思是“不是目录的子项”。基本上,即使你试图使用有效的相对路径,它也希望它指向你的工作目录下的。在我的情况下,下面的技巧的工作:

./../..build/executable.swf

上述替换为

-C ./../.. build/executable.swf

-C让ADT将目录更改为一个两个层次,然后你可以指定所需的文件。

在玩了ADT之后,我现在意识到它为什么这么做 - 你给它的路径将成为包内的路径。所以在上面的例子中,文件将在build/executable.swf包中可用。如果您希望在包装根目录下提供,请将-C指令更改为以下内容:

-C ./../../build executable.swf