使用adt.jar打包时,将应用程序图标添加到应用程序中:如何?
我使用flash builder制作了带有图标的应用程序,一切都很好。使用adt.jar打包时,将应用程序图标添加到应用程序中:如何?
现在我必须用adt(空气开发工具)构建另一个应用程序,但是我遇到了奇怪的问题。
如果我只是相对路径图标“SRC”文件夹中的应用程序描述符(像往常一样)的地方,它说:
error 303: Icon icon.png is missing from package
。如果我在应用程序描述符中使用没有路径的
icon.png
,然后将该文件放到任何位置(根目录,资产,src,构建目标等),它再次表示error 303: Icon icon.png is missing from package
。如果我尝试将图标路径添加到像
<arg value="icon.png"/>
这样的adt参数(并将其放到输出文件夹中,因为看起来所有路径都与我的情况相对),它表示The path icon.png is restricted. If you were trying to package Icon.png you should correct the case
。当我指向原始文件位置(
<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手动包装时包含图标的要求为:
- 将文件名添加到应用程序描述符而不使用任何
..
。 - 我求求你,甚至不要试图命名你的图标文件
icon.png
。这是显而易见的名字,并且对于adt
的创作者来说显而易见。因此,他们似乎将某些文件重命名为icon.png
或将输出生成到此文件。或者把这个文件放到由adt
作为根用户使用的目录的某个子目录中。实际上,错误输出完全告诉你避免使用path icon.png。Correct the case
短语(使我困惑)意味着rename your icon or move it deeper in directory hierarchy
- 添加路径到您的图标作为命令行参数
adt
。
生成后,您会在生成的输出文件夹中看到您的图标。您可以将其删除,并且应用程序仍将按照预期与您的图标一起显示。
这更多的是对上述答案的第一点进行阐述,以澄清像我这样一直在为这个问题而努力的人。
错误读取“不是相对于目录”,但它的意思是“不是目录的子项”。基本上,即使你试图使用有效的相对路径,它也希望它指向你的工作目录下的。在我的情况下,下面的技巧的工作:
./../..build/executable.swf
上述替换为
-C ./../.. build/executable.swf
-C让ADT将目录更改为一个两个层次,然后你可以指定所需的文件。
在玩了ADT之后,我现在意识到它为什么这么做 - 你给它的路径将成为包内的路径。所以在上面的例子中,文件将在build/executable.swf
包中可用。如果您希望在包装根目录下提供,请将-C指令更改为以下内容:
-C ./../../build executable.swf