Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/201.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Cordova/PhoneGap插件开发工作流_Android_Cordova_Phonegap Plugins_Cordova 3 - Fatal编程技术网

Android Cordova/PhoneGap插件开发工作流

Android Cordova/PhoneGap插件开发工作流,android,cordova,phonegap-plugins,cordova-3,Android,Cordova,Phonegap Plugins,Cordova 3,我正在开发一套Cordova插件。最初的实现将仅限于Android,所以现在我对能够在Eclipse中使用ADT进行插件开发感兴趣。我已经阅读了文档,并且能够完成第一个插件,但是工作流有点麻烦。我在Cordova中找不到任何专门支持插件开发工作流的文档或工具。我想知道我是不是让它变得比需要的更难?这就是我正在做的 该插件是根据cordova插件规范设置的。我从设置目录结构和在Sublime中编辑文件开始,因此我有如下内容: $PLUGIN\u根 src 安卓 Plugin.java

我正在开发一套Cordova插件。最初的实现将仅限于Android,所以现在我对能够在Eclipse中使用ADT进行插件开发感兴趣。我已经阅读了文档,并且能够完成第一个插件,但是工作流有点麻烦。我在Cordova中找不到任何专门支持插件开发工作流的文档或工具。我想知道我是不是让它变得比需要的更难?这就是我正在做的

该插件是根据cordova插件规范设置的。我从设置目录结构和在Sublime中编辑文件开始,因此我有如下内容:

  • $PLUGIN\u根
    • src
      • 安卓
        • Plugin.java
    • 万维网
      • plugin.js
    • plugin.xml
我用样板文件和初始实现设置了所有这些。 然后,为了开始测试,我创建了一个cordova项目,添加了android平台,添加了我的插件并构建:

cordova create testProject
cd testProject
cordova platform add android
cordova plugin add $PLUGIN_ROOT
cordova build
cordova run
完成所有这些之后,我将testProject/platforms/android导入ADT,并开始编辑Plugin.java和Plugin.js,以及assets/www以添加测试工具

现在,在一切按我希望的方式运行之后,我必须手动将所有更改的文件(加上我添加的任何文件)复制回$PLUGIN_ROOT下的适当位置。我还想保留我的测试工具,可能在$PLUGIN\u ROOT/test中。这在第一次还不算太糟糕,但是经过几次迭代之后,一切都变得有点笨拙了。手动操作似乎也很容易出错,但我不能真正使用合并工具来完成,因为目录结构不同。我可以写一个脚本,但是我会增加更多的维护开销。话虽如此,我目前正计划为我将要编写的每个插件编写脚本


有更好的办法吗?我真的很想听听cordova插件开发人员是如何处理这个问题的。谢谢。

你需要一个自动构建工具,比如你的插件文件夹(例如$plugin\u ROOT)和相应的cordova命令,每当属于插件的文件发生变化时。

我可以知道你的确切问题吗…@ManetiVinay:我在我的问题中尽可能地解释了它。基本上,我上面描述的开发工作流程是不舒服的,但由于插件规范要求的文件组织,似乎是唯一可能的方法。我希望有一种方法比我正在使用的方法更好,有人会告诉我它是什么。导出需要重用的项目,然后重新导入,并在需要使用iThanks进行响应时重新命名。听起来你建议我只编辑$PLUGIN\u ROOT中的文件。如果我采用这种方法,我将无法编辑正在调试的文件,这是我认为我需要能够做到的。也许我遗漏了什么——如果是,请详细说明你的建议会有什么帮助。我曾考虑过一种基于自定义版本的plugman的方法,该方法在执行“cordova plugin add”时创建指向所有插件文件的符号链接,但是意识到,当你做“cordova prepare”时,它会将真实文件复制到平台目录中。在这种情况下,最好处理项目中的文件,并配置grunt watch任务,以便在文件更改时只自动将必须存在的文件复制到插件主控器。我将奖励你,因为你花了时间没有人回答,但我不接受这个答案。尽管可以说它比手动复制所有文件要好,但它仍然需要对每个插件进行大量的手动配置和维护。如果我最终通过使用grunt watch(或类似工具)获得比预期更好的结果,我会回来接受你的答案。谢谢