使用 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-tools
和 tools
并认为我已准备好通过运行以下命令起飞:
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 1.5.0 中显示启动画面