28

似乎文档有点薄,我向你保证我已经尝试在网上找到它,但我真的不明白开发过程应该如何与 phonegap 和 eclipse 一起工作。

我遵循了众多教程之一,并使用 cordova 命令行创建了 Hello World 示例。然后我添加了 android 平台并运行了构建。之后,我按照使用子目录platforms/android 目录的指示,将andoridy 位添加为eclipse 中关于现有源的项目。这使我能够设置模拟器并且一切运行良好。

我现在遇到的问题是开发过程。

我知道我必须编辑顶级文件,而不是 eclipse 中项目资产目录中显示的文件,因为这些文件是使用“build”命令创建的。这些顶级文件在我在 Eclipse 中创建的项目中不存在,因为它们位于项目的根目录之上。

所以,我的问题是......我可以使用 eclipse 以一种明智的方式开发这个项目吗?

我目前正在做的是编辑 android www 文件,然后将其泵入云构建,我将它们复制到树上。这似乎很疯狂。

有没有办法在 Eclipse 中提供真实文件,以便我可以开发它们,然后轻松构建和部署到模拟器?

PS是我的想象还是科尔多瓦的建造需要很长时间!

解决方案

我在 Android 项目中添加了一个文件夹,它是根目录中 www 位置的链接。这是在创建文件夹的高级选项下。

4

3 回答 3

15

为此,您必须使用两个不同的 Eclipse 项目。一个包含用于开发的 myProject/www 文件夹(我们称之为“顶级项目”),另一个用于您的特定平台项目(例如 android,正如您已经做过的那样)。

在您的顶级项目中,您编写代码,如果您愿意,您甚至可以在一定程度上进行调试(不需要cordova 的功能)。然后保存并输入cordova prepare您的 CLI。然后,您可以切换到您的 android 项目,点击刷新 (F5) 并运行模拟器/设备并查找错误,并进行 Android-Manifest 更改。如果您想更改代码,请再次切换到您的顶级项目并再次执行相同操作。

这似乎有点不方便,对吧。尽管如此,想想cordova 不仅仅用于在android 上开发,还用于在ios、windows phone、blackberry 上开发……要访问所有这些平台,您无论如何都必须切换到多个ide。这样一来,在独立项目中拥有顶级代码就容易多了。

一些侧节点:

  1. 多次执行此过程后,您将花费不超过 2 或 3 秒的时间来cordova prepare切换项目。没关系,我想。

  2. 我自己不只是使用不同的 eclipse 项目,我什至使用不同的 eclipse 安装。这似乎更适合我,因为它可以保护我免受混淆顶级和低级文件的影响。

  3. 即使您只为 android 开发,您也应该使用两个不同的项目,因为“cordova prepare”(或任何包含 prepare 的 cli 命令,如 build、emulate 和 run)会覆盖/删除您的文件。

  4. 在我的安装中,使用 CLI 构建所需的时间与在 eclipse 中相同。这是有道理的,因为我对两者都使用相同的 sdk。但是,在上面写的过程中,没有必要使用cli-build命令。

  5. 如果您只使用 android 平台并且不容易与一个项目中的同名文件混淆,您可以在您的 Android 项目中链接 myApp/www 文件夹。在这种情况下,您将只有一个项目(此答案的功劳归于 stevemarvell 本人,我只是在此处添加此内容以保持完整性)

于 2013-09-09T06:44:27.670 回答
0

除了上述解决方案之外,我还创建了一个“外部工具”配置,该配置运行带有“本地构建 android”选项和环境 PATH 变量设置为“/opt/local/bin:/usr/bin:/bin”的 phonegap 实用程序对于我的 Mac。从那里,我安装了 Eclipse CDT 工具并使用其“启动组”功能从顶层项目运行外部工具,然后在特定平台项目上调用调试。

似乎工作得很好。不幸的是,他们的顶级项目不“记住”启动组的执行,所以我每次都必须从“调试”下拉菜单中选择它。我将顶级项目转换为 JavaScript 作为测试,但它似乎没有帮助,并且项目属性中的“运行/调试设置”全部变灰。

于 2013-09-15T21:51:22.733 回答
0

在这里查看我的答案:PhoneGap Android 项目中的多个 Html 文件

为什么我使用 Phonegap 3.0 CLI 迁移到 Netbeans。更适合我的工作流程。

于 2013-10-19T20:26:11.327 回答