如何设置支持IDE的Cordova插件项目?

我一直在努力build立我的cordova插件项目。 主要是由于以下事实:

我怎样才能为我的插件开发设置一个IDE(例如,用于Android Studio)的代码完成项目?

Solutions Collecting From Web of "如何设置支持IDE的Cordova插件项目?"

开发Cordova插件有点痛苦。

这是一个方法来做到这一点:

  1. 创build你的插件的基本文件( plugin.xml文件,Android插件的.java文件,iOS的.h.m文件)
  2. plugin.xml提供安装插件所需的东西
  3. 在你的Cordova应用程序中安装插件: cordova plugin add /path/to/pugin
  4. build立你想开发你的插件的平台。 cordova build androidcordova build ios

然后,对于每个平台,您将不得不直接在您的插件项目中工作:

  • Android:使用“Android 项目(Eclipse ADT,Gradle等)”在Android Studio中打开位于yourCordovaAppFolder/platforms/android中的已yourCordovaAppFolder/platforms/android Android项目

    1. 打开Project 工具窗口查看>工具窗口>项目 + 1
    2. 打开位于: android> java> com.your.plugin> YourPlugin的插件类文件
  • iOS:使用Xcode打开位于yourCordovaAppFolder/platforms/ios中的已yourCordovaAppFolder/platforms/ios iOS项目在Xcode中,您的插件类文件位于Plugins文件夹

然后,您可以直接开发和testing每个平台的插件,而不需要重新安装一遍又一遍…只需从Android Studio / Xcode运行项目, 不要重新安装插件,它会抹去你所拥有的在项目中完成

当你认为你的开发已经完成(或者你想要的时候),把第一步创build的原插件文件夹中的插件文件replace为你正在开发的项目中的插件文件。

编辑:

我发现Eclipse在去年夏天进行了更新,包括Thym (The HYbrid Mobile Tools)的Eclipse Mars(4.5 )。

如果需要,他们有一个Github项目页面 。

我很快testing了它,它允许创buildCordova项目,轻松添加插件,并直接在所需的平台(Android,iOS)上运行。

微软也为Apache Cordova制作了一个免费版本的Visual Studio ,但是我还没有testing过它。

关于与Thym的Eclipse,我的第一个快速结论是,开发Cordova应用程序是实用的,但不会是开发Cordova插件的最终解决scheme,因为它不是以这种方式定向的,并且不是用于插件,而是用于制作应用程序对于用于Apache Cordova的Visual Studio可能是相同的)。

顺便说一下,我用Eclipse + Thym启动iOS模拟器时遇到了一些麻烦,所以即使它看起来已经很好,也许仍然需要改进。

我倾向于使用的解决scheme遵循由Niko在接受的答案中概述的解决scheme。 但是,添加插件时添加了–link标志:

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

(至less在Mac和Linux上)创build插件目录的符号链接,而不是复制它。 然后,使用Android Studio在“platforms / android”中编辑Android项目中的插件文件实际上会修改插件目录中的文件。 这允许将插件目录分开(并在它自己的版本控制下)。 删除和添加插件应该 – 至less在理论上 – 不会失去对插件的更改。

该方法应该同样适用于iOS插件。

要小心,我不知道是否或如何 – 在Windows机器上工作。

提示:我在帮助中find了这个选项:

 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. 

对于Android Studio和Cordova Plugin,有更简单的解决scheme:在添加android平台之后,cordova会在platforms / android下创build一个android项目,您可以在android项目下创buildcordova插件文件夹,并使用命令添加插件到项目中。 所以,你不需要使用另一个Java。 正如我所说,将有两个相同的Java文件:/ src和/ PluginDevelopmentFolder。 cordova build android不会操纵任何java文件。 我添加了fileTree来确认:

在这里输入图像说明

阅读这个https://cordova.apache.org/docs/en/edge/guide_appdev_hooks_index.md.html

我有IDE netbeans和Debian Jessie。 (Netbeans对我来说是最好的IDE,用于QT,PHP,现在是cordova,但它使用大尺寸的RAM)

而且,我已经推动生成button我的sh脚本删除,安装和运行在VirtualBox(使用adb)新build的应用程序。 我没有删除插件到其他目录,因为没有必要,但你可以设置你的目录和monualy把plagin,然后包括使用脚本插件。

我想build议另一个开发Cordova插件的工作stream程。 它的方法类似于前面已经提到的工作stream程,不同的是我喜欢有一个独立的项目来维护+testing+debugging插件代码,而不需要单独的testing应用程序。

工作stream程大纲如下所示。

 Step 1 - Prepare the Cordova platform. 1.1 Download android release cordova-android-xyzzip 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-xyzjar Step 2 - Create/test the plugin with IDE support. 2.1. Create an empty Android project using Android Studio. 2.2. Copy the cordova-xxxjar 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可以自动化,我个人从来没有这样做过。