Подтвердить что ты не робот

Разработка с помощью Eclipse и Phonegap/Cordova 3

Похоже, документация немного тонкая, и я уверяю вас, что пытался найти это в Интернете, но я действительно не понимаю, как должен работать процесс разработки с телефонной заставкой и затмением.

Я последовал за одним из многих руководств и создал пример Hello World, используя командную строку cordova. Затем я добавил платформу Android и запустил сборку. После этого я добавил бит andoridy в качестве проекта в eclipse относительно существующего источника, как указано, используя каталог подкаталогов/каталог Android. Это позволило мне настроить эмулятор, и все работало очень хорошо.

Проблема, которую я сейчас имею, связана с процессом разработки.

Я понимаю, что мне нужно редактировать файлы верхнего уровня, а не те, которые были представлены в каталоге ресурсов проекта в eclipse, поскольку они создаются с помощью команды "build". Эти файлы верхнего уровня не существуют в проекте, который я создал в eclipse, так как они находятся выше корня проекта.

Итак, мой вопрос: могу ли я использовать eclipse для разработки этого проекта разумным образом?

То, что я делаю в данный момент, это редактирование файлов Android Android, а затем перекачивание его в облачную сборку, я копирую их обратно в дерево. Это кажется безумным.

Есть ли способ иметь реальные файлы, доступные в eclipse, поэтому я могу их развить, а затем легко создать и развернуть на эмулятор?

PS это мое воображение или сборка кордовы занимает возраст!

Решение

Я добавил папку в проекте Android, которая является ссылкой на расположение www в корне. Это связано с расширенными возможностями создания папки.

4b9b3361

Ответ 1

Чтобы сделать это, вы должны использовать два разных проекта eclipse. Один из них содержит папку myProject/www для разработки (позвольте назвать ее "проект верхнего уровня" ) и один для вашего конкретного проекта платформы (например, android, как вы уже это сделали).

В своем проекте верхнего уровня вы пишете свой код и, если хотите, вы можете даже отладить до определенной степени (функции, которые не требуют кордовы). Затем сохраните и введите cordova prepare в свой CLI. Затем вы можете переключиться на свой проект Android, нажать обновление (F5) и запустить эмулятор/устройство, искать ошибки и внести изменения в Android-манифест. Если вы хотите изменить код, переключитесь снова на проект верхнего уровня и сделайте то же самое снова.

Это кажется немного неудобным, верно. Тем не менее, подумайте о том, что кордова не только для разработки на Android, но и на ios, windows phone, blackberry,... Чтобы получить доступ ко всем этим платформам, вам все равно придется переключаться на несколько ide. Это делает его намного проще, чтобы иметь код верхнего уровня в независимом проекте.

Некоторые сидениды:

  • После выполнения этого процесса несколько раз вы потеряете не более 2 или 3 секунд до cordova prepare и переключите проекты. Кажется, это нормально.

  • Я сам не просто использую разные проекты eclipse, я даже использую разные установки eclipse. Это казалось мне лучше организованным, поскольку оно защищает меня от запутывания файлов верхнего и нижнего уровня.

  • Даже если вы разрабатываете только для android, вы должны использовать два разных проекта, так как команда "cordova prepare" (или любая команда cli, содержащая подготовку, сборку, эмулирование и запуск) будет перезаписывать/удалять ваши файлы.

  • В моей установке построение с помощью CLI занимает столько же времени, сколько и в eclipse. Это имеет смысл, поскольку я использую один и тот же sdk для обоих. Однако в процессе, написанном выше, нет необходимости использовать команду cli-build.

  • Если вы используете только платформу Android и не можете легко путать с одноименными файлами в одном проекте, вы можете связать папку myApp/www в своем проекте Android. В этом случае у вас будет только один проект (кредит для этого ответа идет на stevemarvell сам, я просто добавляю это здесь для полноты)

Ответ 2

в дополнение к решению выше, я создал конфигурацию "внешних инструментов", которая запускает утилиту phonegap с параметрами "local build android" и переменной PATH среды, установленной в "/opt/local/bin:/usr/bin:/bin 'для моего Mac. оттуда я установил инструменты Eclipse CDT и использовал его функцию" Launch Group" для запуска внешнего инструмента из проекта верхнего уровня, прежде чем вызывать отладку в проекте, ориентированном на платформу.

похоже, работает достаточно хорошо. к сожалению, проект верхнего уровня не "запоминает" выполнение Launch Group, поэтому я должен выбирать его из раскрывающегося списка Debug каждый раз. я преобразовал проект верхнего уровня в JavaScript в качестве теста, но он, похоже, не помог, и "Параметры запуска/отладки" в свойствах проекта выделены серым цветом.