【发布时间】:2014-10-30 20:45:25
【问题描述】:
我能够使用特定于平台的工具为 Android 创建一个 Cordova 3.0 项目(我尝试了 CLI 方法,但无法使其工作)。我使用plugman 工具添加了标准核心插件。我的应用程序的index.html 和.js 插件文件似乎正在加载,因为我可以看到开始屏幕并在应用程序中执行一些基本操作。但是,调用数据库等高级功能无法正常工作,因为这些是我使用自己的自定义插件实现的。这些插件存在于他们的项目文件夹中,并作为库引用添加到主活动中(我在 Eclipse 中右键单击并选择Debug as Android application)。因此,它们在该特定项目的Java Build Path 的Android Dependencies 部分中显示为.jar 引用。我大约 90% 确定我的 .js 插件文件设置正确,因为我确实有一个插件,它是主要活动的 src 树中的一个包。这是唯一有效的插件。当我删除该软件包进行测试并尝试使用该插件功能时,它无法工作。
我的插件已正确添加到config.xml 文件中。至少对于主要活动的src 目录中存在的一个自定义插件。这是一个不工作的插件的例子:
<feature name="DBHelper_Plugin">
<param name="android-package" value="com.cordova.plugin.dbhelper.DBHelper_Plugin" />
</feature>
是否可以使用外部文件夹中的第 3 方插件?如果是这样,怎么做?如果没有,除了将我的主要活动的src 树与一百万个插件包(就像现在的核心插件一样)混乱之外,我还有其他选择吗?
【问题讨论】:
-
奇怪的是你无法使用 CLI(我发现 CLI 比使用 plugman 容易得多)。你的个人插件怎么样? (遵循plugman 结构和plugin.xml?)
-
但最后我认为当你使用plugman或cli时,如果这让你感到困扰的话,一切都会被复制到项目中。我认为 jar 必须位于项目的“libs”文件夹中才能被 Android 看到。
-
@QuickFix 感谢您的建议。我没有为我的插件使用
plugin.xml文件,我认为不需要它们,因为我没有通过plugman安装它们。我确实尝试将DBHelper_Plugin的.jar文件放入主活动的libs目录中并且它有效(.jar文件也包含在Android Private Libraries中)。我想我现在的问题是,是否可以将这些库.jar文件添加为链接,而不是复制它们?为了清楚起见,我可以在没有plugin.xml文件的情况下使用我的插件。 -
你是对的,plugin.xml 是用于plugman 的,如果你像你一样自己修改所有文件,则不需要。关于链接,如果你在谈论像
ln -s这样的命令,我看不出它为什么不起作用。也许有一种方法可以通过在 eclipse 中配置一些东西使其在没有操作系统链接的情况下工作,但我记得过去当 jar 位于 libs 文件夹之外时遇到问题。 -
@QuickFix 没关系,这是一个愚蠢的问题。我只是从插件项目目录的
bin文件夹中拖动.jar文件,Eclipse 给了我一个选项来链接到该文件而不是复制它。问题解决了。感谢您的帮助。
标签: android eclipse cordova cordova-plugins