2013-02-22 34 views
1

我使用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。)

回答

1

不錯。最後我找到了解決方案。因此,使用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

生成後,您會在生成的輸出文件夾中看到您的圖標。您可以將其刪除,並且應用程序仍將按照預期與您的圖標一起顯示。

1

這更多的是對上述答案的第一點進行闡述,以澄清像我這樣一直在爲這個問題而努力的人。

錯誤讀取「不是相對於目錄」,但它的意思是「不是目錄的子項」。基本上,即使你試圖使用有效的相對路徑,它也希望它指向你的工作目錄下的。在我的情況下,下面的技巧的工作:

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

上述替換爲

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

-C讓ADT將目錄更改爲一個兩個層次,然後你可以指定所需的文件。

在玩了ADT之後,我現在意識到它爲什麼這麼做 - 你給它的路徑將成爲包內的路徑。所以在上面的例子中,文件將在build/executable.swf包中可用。如果您希望在包裝根目錄下提供,請將-C指令更改爲以下內容:

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

相關問題