Cordova 如何使用PhoneGap管理多个开发人员环境?

Cordova 如何使用PhoneGap管理多个开发人员环境?,cordova,Cordova,我们正在作为一个团队开发PhoneGap应用程序。一个队友有一台Linux机器,我有一台Mac电脑。我们的整个项目是一个Git存储库,因此,每当我们对项目进行更改时,我们都会运行 phonegap platform update android 并推动这些变化。这造成了一个问题,因为最初,我的队友开发了第一个Android版本。当我在插入设备的情况下运行phonegap run android时,我得到一个错误。以下是终端错误: nagarjun$ phonegap run android [

我们正在作为一个团队开发PhoneGap应用程序。一个队友有一台Linux机器,我有一台Mac电脑。我们的整个项目是一个Git存储库,因此,每当我们对项目进行更改时,我们都会运行

phonegap platform update android
并推动这些变化。这造成了一个问题,因为最初,我的队友开发了第一个Android版本。当我在插入设备的情况下运行phonegap run 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}变量保存其Android sdk的根。确保我们都能构建项目的最佳方式是什么?确保平台差异不会破坏开发?请帮助。

我的团队处理此问题的方式是只提交项目的WWW文件夹

所有构建、平台和插件文件都应该单独维护,以避免构建冲突


每个团队成员在自己的系统上创建一个项目,然后将git repo克隆到他们的www文件夹中。

您不觉得需要直接编辑任何特定于平台的文件吗?假设PhoneGap不能解决所有问题,那么您可能最终不得不编辑Android平台内的任何文件。这样做不对吗?您是否应该强制在www文件夹中构建所有功能?您可以使用.gitignore文件仅阻止特定路径/文件,最重要的可能是platforms/android中的/bin和/cordova。对于我们的项目,我们只编辑插件文件,只在单独的repo中维护这些文件。platforms/android中的local.properties文件应该存储sdk.dir值。如果这就是导致问题的原因(您可能有Riyz的local.properties副本),那么一个解决方案就是编写一个shell脚本,从git中提取项目,并将该文件替换为适合您环境的文件。然后,只要在更新本地副本时使用该shell脚本,并让Riyaz执行相同的操作即可。这正是任务所在。此外,每次推送都会导致文件显示为在Git中编辑的文件。是这样吗?你说得对。照Dawson在评论中说的做,同时忽略local.properties文件。然后请注意,任何设置项目新本地副本的人都需要添加自己的local.properties文件。(注意:所有这一切都假设错误来自于该文件)