【问题标题】:How to integrate PhoneGap into an Ant build?如何将 PhoneGap 集成到 Ant 构建中?
【发布时间】:2012-08-25 12:40:31
【问题描述】:

我一直在阅读 PhoneGap 并且非常喜欢它。我想看看我是否可以将它与 GWT 一起使用来编写部署到许多不同平台(web、移动 web、android、iphone、winphone 等)的 Java 应用程序。

看起来PhoneGap SDK 为您想要支持的每个本机平台提供了不同版本的cordova.js。所以看起来 Ant 构建必须以某种方式将 GWT 生成的 JavaScript 打包到正确版本的 cordova.js

  • 3098DJU39I4F9IF9.html + cordova-android.js
  • 3098DJU39I4F9IF9.html + cordova-iphone.js
  • 3098DJU39I4F9IF9.html + cordova-windows-phone.js

我在这里概括一下,我知道这些不是正确的文件名(尽管很明显,3098DJU39I4F9IF9.html 是 GWT 生成的代码)。

但随后必须启动 PhoneGap 的能力,以获取这些配对并生成正确的打包容器:分别为每个平台提供一个 APK、IPA 或 XAP。

所以我首先要问:PhoneGap 开发人员通常如何从3098DJU39I4F9IF9.html + cordova-android.js 到拥有myapp-android.apk,或从3098DJU39I4F9IF9.html + cordova-iphone.js 到拥有myapp-iphone.ipa? PhoneGap SDK 是否有执行此操作的命令行工具?

一旦我明白了这么多,我就想弄清楚如何从 Ant 构建中自动化这个打包/绑定过程。是否有任何已知的 Ant 任务已经这样做了?还是我需要从 Ant 内部启动一个 shell 并运行 shell 命令?提前致谢!

【问题讨论】:

    标签: java gwt cordova ant


    【解决方案1】:

    @rooftop 是对的,即使你使用的是 Phonegap,你也必须使用原生 SDK 构建原生应用。好处在于使用 HTML5、CSS 和 JS 创建应用程序的 UI 和行为。

    因此,如果您没有使用任何本机功能或自定义 Phonegap 插件,您可以只为每个平台拥有本机应用程序的最低包结构,然后只需将正确的文件移动到相关文件夹中(在Android 它是使用 ant 复制任务的那些包结构的资产文件夹)。此后,您可以使用特定于每个平台的命令行编译和构建工具来构建和打包应用程序。

    希望这会有所帮助。

    编辑:添加了有关其他平台的更多详细信息

    基本上,所有 SDK 都包含命令行工具。事实上,我过去常常从命令行编译和构建,以自动化该过程,即使对于通常通过 Visual Studio 易于使用的环境执行的标准 Windows 应用程序(控制台、Web 应用程序等)也是如此。您可以查看this,了解用于 Windows 手机开发的标准 SDK 之上的扩展工具。

    同样,iOS 基于 UNIX,因此我们可以使用大多数命令行工具进行编译、构建和自动化,XCode provides command line tools 用于构建。

    对于 Android,您可能会发现 this 很有帮助。

    【讨论】:

    • 感谢您的出色回答 (+1) - 您知道是否所有主要的 SDK 都可以从命令行运行吗?在那种情况下,我想我可以从 Ant 构建内部启动一个 shell 并执行一个调用 SDK 工具的脚本。这听起来有道理吗?
    • 忘了提到我已经编辑了我的答案以反映剩余的问题。
    【解决方案2】:

    您确实应该使用 Cordova,它是 PG 的重命名版本,现在是一个 Apache 项目。最近为 Cordova 发布了命令行工具。我没有使用它们,所以我不确定它们是否会帮助您进行构建。通常,您为设备创建二进制文件的方式,例如 iOS 的 IPA 文件将实际使用 Xcode 和本机 SDK 来编译和打包您的应用程序。这意味着您需要每个平台的所有本机工具和 SDK。 Adobe 还提供一项托管服务,可为您构建原生位,但需付费。它曾经被称为电话差距构建,不确定是否仍然是这个名字。您可能想要查看 IBM Worklight,因为它可以满足您的许多要求。开发者版是免费的基于 Eclipse 的 IDE。

    【讨论】:

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