Как настроить проект плагина Cordova с поддержкой IDE?
Я изо всех сил пытался создать свой проект плагина cordova. Главным образом из-за фактов, что:
-
Плагины должны находиться в отдельной папке вдали от основного проекта
-
Когда я использую, например, cordova build android
для создания проекта, кордова копирует java файл из моей папки плагина и помещает его в папку platforms/android/src
.
-
Таким образом, я не должен вручную изменять свой файл .java плагина в проекте Android, мне нужно написать свой код в моей папке плагинов.
-
Но я не могу импортировать папку плагина в проект IDE, поэтому у меня нет завершения кода.
-
В принципе невозможно написать Java/ Objective-C без поддержки IDE
Как я могу создать проект IDE (например, для Android Studio) с завершением кода для разработки моего плагина?
Ответы
Ответ 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 можно было бы автоматизировать, я лично никогда не обошел это.