【问题标题】:Developing with Eclipse and Phonegap/Cordova 3使用 Eclipse 和 Phonegap/Cordova 3 进行开发
【发布时间】:2013-09-08 04:44:25
【问题描述】:

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

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

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

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

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

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

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

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

解决方案

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

【问题讨论】:

  • 自动化构建:右击项目->属性->构建器并新建一个(即Phonegap Build Android),从项目目录执行phonegap local build android。这样就可以在 Eclipse 中简单地按下调试/运行按钮并开始调试。此外,将链接重命名为原始 www 可能更安全。
  • 您在为此设置路径时遇到任何问题吗?
  • 不,我走的是简单的方法:构建器调用“buildphonegap.cmd”,我 cd 到项目目录并运行 phonegap local build android。
  • PhoneGap 文档声明只需将platforms\android 文件夹作为现有Android 项目导入cordova.apache.org/docs/en/3.1.0/… - 我已经尝试过,编译没有错误,并且能够立即部署到设备。
  • @aziz 为了解决我之前评论过的问题,我准备了一个cordova-prepare.bat (Windows) 来执行cordova prepare shell 命令。然后我将其添加到Proyect Properties->Builders 作为第一步。所以现在每次我选择Run As->Android Application 时都会执行cordova-prepare.bat 脚本。

标签: android eclipse cordova cordova-3


【解决方案1】:

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

在您的顶级项目中,您编写代码,如果您愿意,您甚至可以在一定程度上进行调试(不需要cordova 的功能)。然后保存并在 CLI 中键入 cordova prepare。然后,您可以切换到您的 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 本人,我只是在此处添加此内容以保持完整性)

【讨论】:

  • 非常感谢您冗长而深思熟虑的回复。我采用了你的策略,并认为它足够了。至少我现在知道我没有错过任何技巧。在顶层没有cordova js文件是最令人困惑的,尽管这只是一个烦恼并且不会妨碍对html5/jquery代码的浏览器测试。我注意到在第一次之后构建时间减少了,这很好。
  • @stevemarvell 不客气。尽管如此,我想知道是否有什么事情最终没有解决,因为你在最初接受我的回答后不接受我的回答...... :)
  • 是的,这是一个公认的答案,但我认为我的答案是更全面的解决方案。然而,经过反思,我感觉很糟糕,因此会更新:)这里的协议有点新。
  • 确实,您的解决方案也可以使用 - 我没有看到注释,抱歉 ;) 我自己会对链接感到困惑(在一个项目中使用相同的相同文件),但如果你能处理这个,舒尔是一种简单的方法......
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    在这里查看我的答案:Multiple Html files in PhoneGap Android project

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-12-08
      • 2014-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多