1

I built air app with icon in the past with flash builder, and everything was fine.

Now I have to build another app with adt(air developer tool), but I experience weird problems.

  1. If I just place icon path relative to 'src' folder to app descriptor (as usual), it says: error 303: Icon icon.png is missing from package.

  2. If I use icon.png without path in app descriptor and then put this file everywhere(to root dir, to assets, to src, to build destination and so on), it again says error 303: Icon icon.png is missing from package.

  3. If I try to add icon path to adt args like <arg value="icon.png"/> ( and put it to output folder as it seems that all path are relative to it in my case), it says The path icon.png is restricted. If you were trying to package Icon.png you should correct the case.

  4. When I point to original file location ( <arg value="../src/assets/icon.png"/>), it outputs File ..\src\assets\icon.png is not relative to directory E:\projQ\flex\MyProject\bin (this bin directory is actually output directory). I've read unapproved comment on adobe forum that this is due to some sandbox limitations, but I'm not even sure that sandbox exists for adt( if it exists, then why? )

So, what shall I do to successfully add icon to that app? I guess that using tools like resHacker to project's .exe will not help as .exe is just a launcher for .swf file, and anyway I consider that this awful way leads to the dark side of programming.

(P.S. can't add 'adt' tag that relates to adobe, not android.)

4

2 に答える 2

1

これは、この問題に苦しんでいる私のような人々を明確にするために、上記の回答の最初の点をより詳しく説明したものです.

エラーは「ディレクトリに関連していません」と表示されますが、それが意味するのは「ディレクトリの子ではありません」です。基本的に、有効な相対パスを使用しようとしても、作業ディレクトリの下の何かを指していると想定されます。私の場合、次のトリックが機能しました。

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

交換された

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

-C を指定すると、ADT は 2 つ上のディレクトリに移動し、必要なファイルを指定できます。

ADT をもう少しいじってみると、ADT がそうする理由がわかりました。ADT に指定したパスが、パッケージ内のパスになります。したがって、上記の例では、ファイルはパッケージ内のbuild/executable.swf. パッケージのルート レベルで使用できるようにする場合は、 -C ディレクティブを次のように変更します。

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

于 2013-11-06T03:57:36.653 に答える