Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/24.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 3.0识别外部项目文件夹中自己的插件?_Android_Eclipse_Cordova_Cordova Plugins - Fatal编程技术网

Android 如何让Cordova 3.0识别外部项目文件夹中自己的插件?

Android 如何让Cordova 3.0识别外部项目文件夹中自己的插件?,android,eclipse,cordova,cordova-plugins,Android,Eclipse,Cordova,Cordova Plugins,我能够使用特定于平台的工具为Android创建Cordova 3.0项目。我尝试了CLI方法,但无法使其工作。我使用plugman工具添加了标准的核心插件。我的应用程序的index.html和.js插件文件似乎正在加载,因为我可以看到开始屏幕并在应用程序中执行一些基本操作。但是,调用数据库等高级功能不起作用,因为这些功能是由我用自己的自定义插件实现的。这些插件存在于它们的项目文件夹中,并作为库引用添加到主活动中——我在Eclipse中右键单击并选择Debug as Android applica

我能够使用特定于平台的工具为Android创建Cordova 3.0项目。我尝试了CLI方法,但无法使其工作。我使用plugman工具添加了标准的核心插件。我的应用程序的index.html和.js插件文件似乎正在加载,因为我可以看到开始屏幕并在应用程序中执行一些基本操作。但是,调用数据库等高级功能不起作用,因为这些功能是由我用自己的自定义插件实现的。这些插件存在于它们的项目文件夹中,并作为库引用添加到主活动中——我在Eclipse中右键单击并选择Debug as Android application。因此,它们在特定项目的Java构建路径的Android依赖项部分显示为.jar引用。我大约90%确定我的.js插件文件设置正确,因为我有一个插件,它是主活动的src树中的一个包。这是唯一有效的插件。当我删除该软件包进行测试并尝试使用该插件功能时,它失败了

我的插件已正确添加到config.xml文件中。至少对于主活动的src目录中存在的一个自定义插件。下面是一个非工作插件的示例:

<feature name="DBHelper_Plugin">
    <param name="android-package" value="com.cordova.plugin.dbhelper.DBHelper_Plugin" />
</feature>

是否可以使用外部文件夹中的第三方插件?如果是,怎么做?如果没有,除了用一百万个插件包把我的主要活动的src树弄得乱七八糟之外,我还有其他选择吗?就像现在用核心插件一样?

对于任何可能也有这个问题的人,我是这样做的:

从Android库引用中删除主活动的src目录外的外部插件右键单击主活动>属性>Android>从库中删除部分。仅对插件项目本身执行此操作。 在Windows资源管理器中的相应项目文件夹中的bin目录中查找生成的plugin.jar文件。如果不存在,则在Eclipse中构建项目。将它们拖到主活动的libs文件夹中。Eclipse将询问您是否要复制或链接这些文件。选择链接它。 就这样。插件现在将显示在Android私有库下,而不是Android依赖项下,Cordova能够看到并使用它们,确保将它们作为功能引用包含在config.xml文件中。因为它们是链接的,所以您可以在Eclipse中对插件进行更改,而不必担心再次复制它。
干杯。

奇怪的是,您无法使用CLI。我发现CLI比使用plugman容易得多。你的个人插件怎么样?使用plugin.xml遵循plugman结构?但最后,我认为当您使用plugman或cli时,所有内容都会复制到项目中,如果这是困扰您的问题的话。我认为JAR必须在项目的libs文件夹中,Android才能看到。@QuickFix感谢您的建议。我没有为我的插件使用plugin.xml文件,我不认为它们是必要的,因为我没有通过plugman安装它们。我确实尝试过使用DBHelper_插件的.jar文件,并将其放入主活动的libs目录中,结果成功了。jar文件也包含在Android私有库中。我想我现在的问题是,是否可以添加那些library.jar文件作为链接,而不是复制它们?说清楚一点,我可以在没有plugin.xml文件的情况下使用我的插件。你说得对,plugin.xml是为plugman准备的,如果你像你一样自己修改所有文件的话,就不需要了。关于链接,如果你说的是像ln-s这样的命令,我看不出它不起作用的原因。也许有一种方法可以通过在eclipse中配置某些东西使其在没有操作系统链接的情况下工作,但我记得过去当JAR在libs文件夹之外时会遇到问题。@QuickFix Nevermind,这是一个愚蠢的问题。我只是从插件项目目录的bin文件夹中拖出了.jar文件,Eclipse给了我一个链接到该文件的选项,而不是复制它。问题解决了。谢谢你的帮助。