带有手机版的不同平台版本

在我们的新项目中,我们遇到了很多与版本控制有关的问题,我们使用3.2版本的电话。 我想问问你有什么最好的方式来使数据版本化,具有以下要求:

  • 所有开发人员必须更改项目根目录中的www文件夹
  • 有些开发人员还需要更改platforms/android/src文件夹中的Java文件
  • 一些开发者也需要改变Objective C的代码

应该有3个不同的存储库位置,一个与www,每个平台一个? 还是应该只有一个存储库位置,每个开发人员检查他需要什么? 还是应该每个人都有整个项目的所有平台文件呢?

我们遇到的问题主要是当平台代码通过cordova修改并致力于afterwoods时。 有时候在你检查完在另一台计算机上正常运行的整个项目之后,它不会再build立起来了。

任何提示都表示赞赏

目前Cordova支持两种构build应用程序的官方方式。 1.基于CLI,完全跨平台工作,必须只存储www合并文件夹。 开发人员假定您可以在新机器上使用Cordova CLI来设置您的环境

 cordova platform add android cordova platform add ios cordova plugin add org.apache.cordova.device 

这个工作stream程给了你在www文件夹中具有公共代码库的好处,并且你必须在合并/ android或者merges / ios子文件夹中为你的CSS,JS或者HTML文件kepp特定于平台的覆盖,但是你不能以这种方式修改平台特定的代码。

  1. 平台SDK开发工作stream程。 在使用平台的标准SDK工具创build应用程序的地方,然后添加CordovaLib作为依赖项,并根据需要embeddedWebView。 然后你使用Eclipse / XCode进一步开发。 如果以这种方式安装了多个项目,则必须手动确保两个项目中的www文件夹保持同步。

这个工作stream程给你的好处是有能力使用所有的平台function,但你必须手动同步www文件夹的内容,并以某种方式与平台特定的CSS / JS / HTML工作注意:在支持我的意思是,这是两个工作stream,开发者的关注。

现在你的问题 – 我build议你有以下的工作stream程,这是基于CLI的工作stream程的稍微修改版本。 你必须存储你的www合并文件夹,只有部分的平台插件文件夹不存储。 由于平台子文件夹的许多部分内容是由Cordova CLI生成的,因此您必须使用.gitignore文件来操作。

.gitignore的内容

 ## Eclipse specific stuff. .metadata/ ## Android specific stuff local.properties /platforms/android/gen /platforms/android/bin /platforms/android/assets/www /platforms/android/.metadata /platforms/android/.staging/www /platforms/android/.settings platforms/android/CordovaLib/.settings/ /platforms/android/CordovaLib/bin /platforms/android/CordovaLib/bin/proguard.txt *.d *.class ## iOS specific stuff platforms/ios/.staging/ platforms/ios/platform_www/ platforms/ios/<--projectname-->.xcodeproj/project.xcworkspace platforms/ios/<--projectname-->.xcodeproj/xcuserdata platforms/ios/www ## Exclude Plugins # For iOS you have to exclude only this single folder. platforms/ios/<--projectname-->/Plugins/ # For Android you have to manually exclude folders for each plugin provider. # .java files for plugins stored based on plugin id. For example # to exclude all plugins provided by Cordova add following line. # Make sure that when you create project you specify project ID # as com.yourcompany.yourapp that way your code will be in # platforms/android/src/com/yourcompany/yourapp and separated from # plugins platforms/android/src/org/apache/cordova/ # For example to exclude plugins provided by BlackBerry # add line # platforms/android/src/come/blackberry/ 

现在当你安装新的项目时,你应该检查源代码并运行以下命令:

 # Create local.properties file which is required for build cordova platform update android # Or manually create local.properties with content below # sdk.dir=C:\\adt\\sdk # Add plugins cordova plugin add org.apache.cordova.device cordova plugin add org.apache.cordova.vibration # ... and other plugins 

在你设置项目之后,你可以从两个世界中获得最大的收益。 您可以使用cordova serve在浏览器中进行快速testing,如果需要,可以使用Android / iOS SDK进行繁重的testing。 如果您将Cordova codebase的更改保持在最低限度,并使用插件来扩展平台,则需要尽可能地将平台更新到新版本的Cordova。

希望你能够select最适合你的方法。