2012-03-14 83 views
3

我在Flash Builder中鏈接的資源存在問題。我在團隊環境中工作,廣泛使用鏈接資源。我們剛剛開始開發ANE,並注意到雖然linkedResources在libraryPathEntry中使用,但在buildTargets(如anePathEntry和airCertificatePath)中,將存儲絕對路徑。我試着直接編輯.actionScriptProperties文件,使用libraryPathEntry作爲指導,修改buildtarget絕對路徑爲鏈接資源等價物,但FlashBuilder在加載項目時抱怨。Flash Builder 4.6鏈接資源不支持ANE和Certs

有沒有辦法讓buildTargets尊重linkedResources而不保存絕對路徑?我試圖避免所有開發人員必須具有完全相同的目錄結構的嚴苛方式。

謝謝!

蘭迪

回答

1

我的團隊有這個確切的問題,所有的嘗試都相對路徑或工作區宏來解決這個問題(即$ {} PROJECT_LOC)失敗。看起來好像負責Flash Builder的團隊忽略了在這些特定對話框中支持相對路徑,儘管它們在其他地方被支持。

以下是我們爲解決此問題所做的工作。我假設你是在Mac/Linux或類似的。否則,這裏的概念仍然可以應用。

我們的大部分項目都有一個「設置」bash腳本,供參與者在獲取代碼時運行。在該腳本的內部,我們簡單地設置了幾個符號鏈接,從用戶特定的絕對路徑到具有「普通」用戶的新絕對路徑。該腳本首先創建該目錄(如果該目錄不存在),然後創建符號鏈接。

sudo mkdir -p /Users/common/<project>/ 
sudo ln -f -h -s ~/path/to/certificate/dir /Users/common/<project>/certificates 

很明顯,你可以使用任何你喜歡和任何有意義的共同路徑。

現在,在您的.actionScriptProperties文件中,您可以將provisingFile和airCertificatePath指向的位置更改爲這個新的公共絕對路徑。

<buildTarget ... provisioningFile="/Users/common/<project>/certificates/provisionfile.mobileprovision" ... > 
<airSettings airCertificatePath="/Users/common/<project>/certificates/cert.p12" ... > 

實際上,我們藉此更進了一步。(我懷疑你還需要),並創建符號鏈接共同路徑爲ANE文件本身。這最終會將anePathEntry更改爲公共路徑。

<anePathEntry path="/Users/common/<project>/anes/some.ane"/> 
  • 你需要確保你無論是手工編輯.actionScriptProperties直接文件直接或類型的完全合格的符號鏈接路徑進入對話。任何嘗試使用Flash Builder啓動的Finder對話框導航到公共位置中的文件時,都會導致符號鏈接自動解析爲其實際位置。
  • 該腳本需要sudo,我相信你知道,它會要求它的用戶知道他們的root密碼。如果這不是您的選擇,也許更多bash精明的人可以提出一種繞過sudo的方法。
  • 這將適用於Android的東西,我相信。我不知道這對你是否重要。

希望這有助於!