2013-12-12 93 views
2

我們正在開發一個PhoneGap應用程序作爲一個團隊。一個隊友有一臺Linux機器,我有一臺Mac。我們整個項目是一個Git倉庫所以,每當我們修改了我們的項目,我們運行如何使用PhoneGap管理多個開發人員環境?

phonegap platform update android 

,推動這些變化也是如此。最初這造成了一個問題,我的隊友建立了第一個Android版本。當我運行phonegap運行android與我的設備插入,我得到一個錯誤。這是終端錯誤:

nagarjun$ phonegap run android 
[phonegap] detecting Android SDK environment... 
[phonegap] using the local environment 
[phonegap] compiling Android... 
    [error] An error occurred while building the android project.Error executing "ant clean -f /Users/nagarjun/Documents/PhoneGap/eduora/platforms/android/build.xml": 
BUILD FAILED 
/Users/nagarjun/Documents/PhoneGap/eduora/platforms/android/build.xml:90: Cannot find /home/riyaz/android-sdk-linux/tools/ant/build.xml imported from /Users/nagarjun/Documents/PhoneGap/eduora/platforms/android/build.xml 

Total time: 1 second 

這是因爲他的Android SDK位於不同的位置?您如何管理PhoneGap構建中的這些差異?

其產生錯誤的build.xml系具有此行:

<import file="${sdk.dir}/tools/ant/build.xml" /> 

我推定該$ {sdk.dir}變量保存根到他的機器人SDK。確保我們都可以建立我們的項目的最佳方式是確保平臺差異不會影響發展?請幫忙。

+0

platforms/android中的local.properties文件應該是存儲sdk.dir值的位置。如果這就是導致問題的原因(你可能有Riyz的local.properties副本),那麼一種解決方案是編寫一個shell腳本從git中提取項目,並用你的環境中的文件替換該文件。然後,只要更新本地副本並使Riyaz也這樣做,就可以使用該shell腳本。 –

+0

這是相當的任務。還會導致文件顯示爲在每次推送時都在Git中編輯。這是對的嗎? – Nag

+0

你說得對。像Dawson在他的評論中說的那樣,並且忽略local.properties文件。然後,請記住,任何設置項目的新本地副本的人都需要添加他們自己的local.properties文件。 (注意:所有這些都假定錯誤來自於因爲該文件而開始) –

回答

2

我的團隊處理這個問題的方式是隻提交項目的WWW文件夾。

所有的構建,平臺和插件文件都應該單獨維護以避免構建衝突。

每個團隊成員在自己的系統上創建一個項目,然後將git repo克隆到他們的www文件夾中。

+0

您是否覺得需要直接編輯任何平臺特定的文件?假設PhoneGap不能解決所有問題,那麼最終可能不得不編輯Android平臺中的任何文件。這是做錯了嗎?你應該強制一種方式來始終在www文件夾中構建所有功能? – Nag

+0

您可以使用.gitignore文件來阻止特定的路徑/文件,可能最重要的是/ platform和/ cordova在platforms/android中。對於我們的項目,我們只編輯插件文件,並將其保存在單獨的回購站中。 –

相關問題