似乎文档有点薄,我向你保证我试图在网上找到这个,但我真的不明白开发过程应该如何与phonegap和eclipse一起工作。
我遵循了许多教程之一,并使用 cordova 命令行创建了 Hello World 示例。然后我添加了 android 平台并运行了构建。之后,我按照使用子目录 platforms/android 目录的说明,将 andoridy 位作为 eclipse 中关于现有源代码的项目添加。这允许我设置模拟器,并且一切运行良好。
我现在遇到的问题是开发过程。
我知道我必须编辑顶级文件,而不是 eclipse 中项目资产目录中显示的文件,因为这些文件是使用 "build" 命令创建的。这些顶级文件在我在 eclipse 中创建的项目中不存在,因为它们位于项目的根目录之上。
所以,我的问题是...我可以使用 Eclipse 以合理的方式开发这个项目吗?
我现在正在做的是编辑android www文件,然后将其泵送到云构建中,我正在将它们复制回树上。这似乎很疯狂。
有没有办法让真正的文件在 eclipse 中可用,以便我可以开发它们,然后轻松构建和部署到模拟器?
PS是我的想象还是科尔多瓦建造需要很长时间!
溶液
我在Android项目中添加了一个文件夹,该文件夹是指向根目录中www位置的链接。这是在创建文件夹的高级选项下。
为此,您必须使用两个不同的 eclipse 项目。一个包含用于开发的myProject/www文件夹(我们称之为"顶级项目"),另一个用于您的特定平台项目(例如Android,就像您已经做的那样)。
在你的顶级项目中,你编写你的代码,如果你愿意,你甚至可以在一定程度上进行调试(不需要cordova的函数)。然后在 CLI 中保存并键入cordova prepare
。然后,您可以切换到您的 android 项目,点击刷新 (F5) 并运行模拟器/设备并查找错误,并进行 Android 清单更改。如果要更改代码,请再次切换到顶级项目并重新执行相同的操作。
这似乎有点不方便,对吧。尽管如此,想想科尔多瓦不仅在Android上开发,而且还在ios,Windows Phone,黑莓,...要访问所有这些平台,无论如何都必须切换到多个 IDE。这使得在独立项目中拥有顶级代码变得更加容易。
一些侧节点:
-
执行此过程几次后,您将失去不超过 2 或 3 秒的时间来
cordova prepare
和切换项目。我认为这没关系。 -
我自己不仅使用不同的 eclipse 项目,甚至使用不同的 eclipse 安装。这对我来说似乎更好,因为它可以保护我免受混淆顶级和低级文件的侵害。
-
即使你只为Android开发,你也应该使用两个不同的项目,因为"cordova prepare"(或任何包含prepare的cli命令,如build,emulate和run)会覆盖/删除你的文件。
-
在我的安装中,使用 CLI 构建所需的时间与在 eclipse 中花费的时间相同。这是有道理的,因为我对两者都使用相同的 sdk。但是,在上面写的过程中,不需要使用 cli-build 命令。
-
如果您只使用 android 平台并且不容易与一个项目中的同名文件混淆,则可以链接 Android 项目中的 myApp/www 文件夹。在这种情况下,您将只有一个项目(这个答案归功于 stevemarvell 本人,为了完整起见,我只是在这里添加这个)
除了上面的解决方案之外,我还创建了一个"外部工具"配置,该配置使用"本地构建Android"选项运行PhoneGap实用程序,并为我的Mac设置了设置为"/opt/local/bin:/usr/bin:/bin"的环境PATH变量。 从那里,我安装了 Eclipse CDT 工具,并使用其"启动组"功能从顶级项目运行外部工具,然后再对特定于平台的项目调用调试。
似乎工作得很好。 不幸的是,他们的顶级项目不"记住"启动组的执行,所以我每次都必须从调试下拉列表中选择它。 我将顶级项目转换为 JavaScript 作为测试,但它似乎没有帮助,项目属性中的"运行/调试设置"全部显示为灰色。
在这里看我的答案:PhoneGap Android项目中的多个Html文件
为什么我使用 Phonegap 3.0 CLI 迁移到 Netbeans。 更适合我的工作流程。