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

Как настроить проект плагина Cordova с поддержкой IDE?

Я изо всех сил пытался создать свой проект плагина cordova. Главным образом из-за фактов, что:

  • Плагины должны находиться в отдельной папке вдали от основного проекта

  • Когда я использую, например, cordova build android для создания проекта, кордова копирует java файл из моей папки плагина и помещает его в папку platforms/android/src.

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

  • Но я не могу импортировать папку плагина в проект IDE, поэтому у меня нет завершения кода.

  • В принципе невозможно написать Java/ Objective-C без поддержки IDE

Как я могу создать проект IDE (например, для Android Studio) с завершением кода для разработки моего плагина?

4b9b3361

Ответ 1

Разработка плагина Cordova - это немного боль.

Вот как это сделать:

  • Создайте основные файлы вашего плагина (plugin.xml файл, .java для плагина Android, .h и .m для iOS) в отдельной папке для вашего плагина
  • Предоставьте в своем plugin.xml, что необходимо для установки плагина
  • Установите ваш плагин в приложение Cordova: cordova plugin add /path/to/pugin
  • Создайте платформы, на которых вы хотите создать свой плагин. cordova build android или cordova build ios

Затем для каждой платформы вам нужно будет работать непосредственно с вашим плагином в построенном проекте:

  • Android: откройте в Android Studio встроенный проект Android, расположенный в yourCordovaAppFolder/platforms/android с "Импорт проекта (Eclipse ADT, Gradle и т.д.)"

    • Откройте окно инструмента Project: Вид > Инструмент Windows > Проект или + 1
    • Откройте файл класса плагинов, расположенный по адресу: android > java > com.your.plugin > YourPlugin
  • iOS: открыть с помощью Xcode встроенный проект iOS, расположенный в yourCordovaAppFolder/platforms/ios В Xcode ваши файлы классов плагинов находятся в папке Plugins

Затем вы можете разрабатывать и тестировать непосредственно свой плагин для каждой платформы, не переустанавливая его снова и снова и снова... просто запустите проект из Android Studio/Xcode и не переустанавливайте свой плагин, он удалит то, что вы сделали в проекте.

Когда вы думаете, что ваши разработки выполнены (или когда вы захотите), замените файлы плагинов в исходной папке плагинов, созданной с самого первого шага, с одним из проекта, над которым вы разрабатывали.

EDIT:

Я обнаружил, что последнее обновление Eclipse прошло летом, Eclipse Mars (4.5), который включает Thym (Гибридные мобильные инструменты).

При необходимости они имеют страницу проекта Github.

Я быстро протестировал его, он позволяет создавать проекты Cordova, легко добавлять плагины и запускаться непосредственно на желаемую платформу (Android, iOS).

Microsoft также выпустила бесплатную версию Visual Studio для Apache Cordova, но я ее не тестировал.

Что касается Eclipse с Thym, то мой первый быстрый вывод состоит в том, что практично разрабатывать приложения Cordova, но не будет окончательным решением для разработки плагинов Cordova, потому что он не ориентирован таким образом и не был сделанный для плагинов, но создание приложений (и это, вероятно, то же самое для Visual Studio для Apache Cordova).

Кстати, у меня возникли проблемы с запуском симулятора iOS с Eclipse + Thym, поэтому, возможно, он нуждается в улучшениях, даже если он выглядит уже хорошо.

Ответ 2

Решение, которое я обычно использую, следует за тем, что указано Нико в принятом ответе. Тем не менее, я добавляю флаг -link при добавлении плагина:

cordova plugin add --link ../cordova-plugin-example

который (по крайней мере, на Mac и, возможно, Linux) создает символические ссылки на каталог плагина, а не копирует его. Затем редактирование файлов плагинов в проекте Android в "platform/android" с помощью Android Studio фактически изменяет файлы в каталоге плагинов. Это позволяет сохранить каталог плагина отдельно (и под его собственным контролем версий). И удаление и добавление плагина должно - по крайней мере теоретически - не терять изменения в плагине.

Подход должен работать одинаково для плагинов iOS.

Остерегайтесь, что я не знаю, работает ли или работает ссылка на Windows-машинах.

Подсказка: я нашел эту опцию в справке:

cordova help plugin

который дает:

     [...]
     [--link] ... when installing from a local path, creates a symbolic link to the plugin
                  instead of copying files. The extent to which files are linked vs copied
                  varies by platform. Useful for plugin development.

Ответ 3

Существует гораздо более простое решение для Android Studio и плагина Cordova: после добавления платформы Android кордова создает проект Android под платформами android, и вы можете создать папку плагинов cordova в проекте android и добавить плагин для проекта с командой один раз. Таким образом, вам не нужно использовать другой для Java. Как я уже сказал, будут два одинаковых java файла:/src и /PluginDevelopmentFolder. cordova build android не манипулирует никаким java файлом. Я добавил fileTree для подтверждения:

введите описание изображения здесь

Ответ 4

прочитайте это https://cordova.apache.org/docs/en/edge/guide_appdev_hooks_index.md.html

У меня есть IDE netbeans и Debian Jessie. (Netbeans - лучшая IDE для меня, используйте его для QT, PHP, теперь кордовы, но он использует большой размер ОЗУ)

И после того, как у меня есть кнопка push build, sh script удалите, установите и запустите новое построенное приложение в VirtualBox (с помощью adb). Я не удаляю плагины в другой каталог, который вам не нужен, но вы можете установить свой каталог и monualy put plagin, а затем включить плагин с помощью script.

Ответ 5

Я хотел бы предложить еще один рабочий процесс для разработки плагинов Cordova. Этот подход аналогичен описанным ранее рабочим процессам, с той разницей, что мне нравится иметь независимый проект для поддержки + тестирования + отладки кода плагина без необходимости отдельного тестового приложения.

Контур рабочего процесса выглядит следующим образом.

Step 1 - Prepare the Cordova platform.
1.1 Download android release cordova-android-x.y.z.zip of the version you want from the github source site:
https://github.com/apache/cordova-android

1.2. Expand the archive, go to framework/ directory
1.3. create a local.properties file with contents: 'sdk.dir=/opt/android-sdk'
     Adjust the path so that it points to the location of the Android SDK on your machine.
1.4. Execute: 'ant jar'
The result is a cordova-x.y.z.jar

Step 2 - Create/test the plugin with IDE support.
2.1. Create an empty Android project using Android Studio.
2.2. Copy the cordova-x.x.x.jar to the app/libs directory of your project.
2.3. Create the plugin code + unit tests (you have code completion and can build the code using the unit tests).
2.4. OPTIONAL If necessary you can add a webview and test the code inside the webview as described here
https://cordova.apache.org/docs/en/latest/guide/platforms/android/webview.html

Step 3 - Package plugin files.
3.1. Create a plugin project with plugman.
3.2. Copy the files from the development project into the plugin project
3.3. Deploy and reuse.

Последний шаг 3 можно было бы автоматизировать, я лично никогда не обошел это.