使用 PhoneGap/Cordova 为 Android 构建时,在 Mac OS X 10.9 Mavericks 上执行命令“ant”时出错

Posted

技术标签:

【中文标题】使用 PhoneGap/Cordova 为 Android 构建时,在 Mac OS X 10.9 Mavericks 上执行命令“ant”时出错【英文标题】:Error executing command 'ant' on Mac OS X 10.9 Mavericks when building for Android with PhoneGap/Cordova 【发布时间】:2013-10-30 00:13:39 【问题描述】:

今天我用 Mac OS X Mavericks 尝试了 PhoneGap/Cordova。为 ios 构建一切顺利,但为 android 构建并非没有一些猜测。

我通过 Android SDK Manager 安装了 Android 4.2.2(我不得不使用旧的 API v17,因为它与新的不兼容),添加了 PATH environment variables 对于 SDK 的 platform-toolstools 并认为我已准备好通过运行以下命令起飞:

phonegap run android

但是,我收到以下错误:

[phonegap] detecting Android SDK environment...
[phonegap] using the local environment
[phonegap] adding the Android platform...
[error] An error occured during creation of android sub-project. ERROR : executing command 'ant', make sure you have ant installed and added to your path.

【问题讨论】:

同样的事情发生在我身上...通过 brew 安装解决了它! 我去了 /bin 文件夹,但我仍然没有找到相同的命令 问题,使用 brew 安装它有帮助,我仍然不明白为什么它以前不起作用,如果我从 ant -v 运行bin文件夹我不需要设置环境变量,这太奇怪了...... 【参考方案1】:

错误消息被证明是真实的,因为 Apache Ant 不再在 Mac OS X Mavericks 的路径中。

防弹解决方案:

    通过在终端中执行以下命令下载并安装 Homebrew:

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    通过执行 Homebrew 安装 Apache Ant

    brew 安装蚂蚁

再次运行 PhoneGap 构建,它应该会成功编译并安装您的 Android 应用。

【讨论】:

相同。您的解决方案既简单又出色。答案很好! Ant 现在在 homebrew-core 中。只需使用brew install ant 命令更新:ruby -e "$(curl -fsSL raw.github.com/mxcl/homebrew/go/install)" 在安装 brew 之后和使用 brew 安装 ant 之前不要忘记执行“brew doctor”。 不要忘记brew update在你使用它之前,如果你已经安装了自制软件......【参考方案2】:

您可以通过 macports 或 homebrew 安装 ANT。

但如果您不想使用 3rd 方包管理器,可以通过从 apache ANT 网站下载 binary release 并将二进制文件添加到系统 PATH 来解决问题。


例如,在 Mountain Lion 上,~/.bash_profile~/.bashrc 我的路径设置如下:

export ANT_HOME="/usr/share/ant"
export PATH=$PATH:$ANT_HOME/bin

所以在解压apache-ant-1.9.2-bin.tar.bz2 后,我将生成的目录移动到/usr/share/ 并重命名为ant

就这么简单,问题就解决了。


注意别忘了sudo chown -R root:wheel /usr/share/ant

【讨论】:

我做了一些非常相似的事情,因为我不使用自制软件或 macports,在我的道路上也没有任何东西。我下载了二进制版本,解压缩并在 /usr/local 中创建了一个名为 ant 的文件夹,然后从解压缩的二进制文件中将 bin 和 lib 文件夹复制到 /usr/local/ant,然后将 /usr/local/ant/bin 添加到你的路径并重新启动终端,一切都很好,只要按照 Coyote 所说的去做,你很快就会让 phonegap CLI 工作。 这应该是公认的答案。 精益和干净。安装你需要的东西。使用 Apache Ant 只需要 2 分钟的安装时间。【参考方案3】:

作为自制软件的替代方案,您可以下载并安装macports。拥有 macports 后,您可以使用:

sudo port install apache-ant

【讨论】:

@Goaler444:你使用的是旧版本的 macports 吗?试试port search ant 并在那里寻找 Apache Ant。 是的,就是这样,通过输入“sudo port -v selfupdate”更新了端口,它工作了。谢谢:) @JohnMark 我仍然遇到同样的错误,请帮忙。我按照你提到的过程进行了我需要安装任何其他的 ant 在你的路径上吗?如果你在终端输入which ant,你会得到什么吗? @JohnMark 感谢您在我输入“/usr/local/bin/ant”时的回复【参考方案4】:

它不需要端口和酿造! 因为你有 android sdk 包。

.1 编辑您的 .bash_profile

export ANT_HOME="[your android_sdk_path/eclipse/plugins/org.apache.ant_1.8.3.v201301120609]" 

// its only my org.apache.ant version, check your org.apache.ant version

export PATH=$PATH:$ANT_HOME/bin

.2 制作可以执行的ant命令

chmod 770 [your ANT_HOME/bin/ant]

.3 测试您是否看到以下消息。这就是成功!

命令行执行:ant

构建文件:build.xml 不存在!

构建失败

【讨论】:

我的 Eclipse 安装在另一个位置。设置ANT_HOME="/Applications/eclipse/plugins/orig.apache.ant_1.8.3.v201301120609" 后,它起作用了!【参考方案5】:

我在尝试使用 Cordova 时遇到了同样的问题。原来我已经有 brew,试试which brew,但它已经过时了。所以,我必须先更新它:

    更新冲泡:brew update 安装 Apache Ant:brew install ant

【讨论】:

【参考方案6】:

就我而言,我已经安装了 macport。我只是更新了我的 macport:

sudo port selfupdate

sudo port upgrade outdated

然后安装apache-ant:

sudo port install apache-ant

最后,我将 ant 添加到我的 .bash_profile 的别名列表中:

alias ant='/opt/local/bin/ant'

那么你就准备好了。

【讨论】:

【参考方案7】:

对于 OSX,您的路径需要包含 /Users/yourusername

他们的例子:/Development/adt-bundle/sdk/platform-tools 需要是:/Users/yourusername/Development/adt-bundle/sdk/platform-tools

【讨论】:

以上是关于使用 PhoneGap/Cordova 为 Android 构建时,在 Mac OS X 10.9 Mavericks 上执行命令“ant”时出错的主要内容,如果未能解决你的问题,请参考以下文章

将使用相机拍摄的照片捕获并存储到本地数据库/PhoneGap/Cordova/iOS

在 PhoneGap/Cordova 中处理 cookie

Phonegap (Cordova) iOS 按钮单击

在 PhoneGap/Cordova 1.5.0 中显示启动画面

PhoneGap/Cordova + iOS7 + XCode 5

使用 phonegap / cordova 更改设备配置文件