Ошибка при попытке синхронизировать файлы рабочей области Eclipse на компьютере с Windows и на компьютере с Ubuntu; какие файлы должны или не должны быть включены? - PullRequest
2 голосов
/ 05 марта 2012

Я занимаюсь разработкой приложения для Android на компьютере с Windows.Теперь я хотел бы продолжить разработку на другом компьютере с Ubuntu 10.04 LTS.Я хотел бы перемещаться между компьютерами с сохранением последней копии файлов проекта на каждом компьютере.Я использую SpiderOak для создания синхронизации каталогов рабочей области Eclipse, которые я использую для разработки.Когда файлы были скопированы с компьютера с Windows на компьютер с Ubuntu, и я запустил Eclipse, возникла ошибка, что не удалось проверить путь к java sdk, и указанный путь был путем, относящимся к компьютеру с Windows.

Есть ли простое решение для этого?Я могу представить, что некоторые файлы, касающиеся специфики рабочей области, не должны передаваться.Могу ли я просто пропустить передачу папки .metadata, содержащейся в каждом рабочем пространстве, созданном Eclipse?Я не заинтересован в синхронизации предпочтений / плагинов / частей, несущественных для работы приложения.Не исключит ли исключение .metadata из синхронизации еще одну проблему, связанную с отсутствием передачи ценной информации о разрабатываемом приложении Android?

Ответы [ 2 ]

4 голосов
/ 05 марта 2012

Правильный, самый простой и надежный способ сделать то, что вы хотите, - это использовать систему контроля версий, такую ​​как CVS, svn, git и т. Д. Даже при работе над проектом в одиночку, это мудрая идея, а не просто наличие код на разных компьютерах, а также потому, что он дает вам все преимущества управления версиями, такие как возможность отката изменений и т. д. Есть много бесплатных или недорогих вариантов хостинга cvs, svn и git; Я настоятельно рекомендую вам создать учетную запись и проверить свой код на двух компьютерах, на которых вы работаете. Если у вас есть веб-хостинг-провайдер, скорее всего, он предоставляет одну из этих услуг с вашей учетной записью.

Если вы собираетесь настаивать на перемещении / синхронизации кода вручную, вам нужно знать, что рабочие пространства Eclipse НЕ предназначены или предназначены для совместного использования. Попытка сделать это всегда приводит к головным болям и другой боли. Вместо этого вы можете экспортировать / импортировать проект (ы), а не рабочее пространство. Имейте в виду, что в Eclipse проект не должен находиться в каталоге рабочей области; когда вы создаете проект, есть возможность сохранить его в любом произвольном месте в вашей файловой системе. Также обратите внимание, что все файлы в проекте (включая .project и .classpath) должны быть общими, кроме сгенерированных вещей, таких как bin / и gen /. Это относится к использованию cvs, svn и т. Д. Или к другому механизму ручной синхронизации.

3 голосов
/ 05 марта 2012

Пока у меня есть исходный код моего проекта, я никогда не буду рассматривать синхронизацию каталога рабочей области Eclipse для кроссплатформенной разработки.Правильный способ состоит в том, чтобы поддерживать ваш источник отдельно (я имею в виду, что не привязывайте ваш источник к какой-либо IDE в любой ОС, всегда рекомендуется использовать систему контроля версий, если это позволяет условие), где бы вы ни захотели начать разработку Eclipse или IntelliJ,в Windows, Linux или Mac получите копию исходного кода и импортируйте ее в свою IDE.

Как правило, единственными файлами, которые делают ваш проект проектом Android, являются:

  • src/
  • res /
  • assets /
  • lib / (если вы импортируете внешние библиотеки jar)
  • AndroidManifest.xml
  • project.properties (или default.properties, переименованный с r14)
  • proguard.cfg (если вы используете Proguard)

Если вы работаете в команде и используете контроль источника, такой как SVN, этоединственные обязательные папки / файлы, которые необходимо зарегистрировать в SVN, все остальные (.project, .classpath, .settings /, bin /, target / и т. д.) не нужны.При импорте и сборке вашего проекта IDE-файлы генерируются итеративно.

Это относится ко всем трем типам проектов Android (Android Project, Libaray Project и Test Project), если вы знакомы с другими инструментами сборки, такими как Ant или Maven.Это также может помочь вам поддерживать кроссплатформенную разработку.

...