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

时间:2013-10-21 13:16:38

标签: android cordova ant osx-mavericks

今天我用 Mac OS X Mavericks 试用了PhoneGap / Cordova。适用于iOS的构建很顺利,但为Android构建并不是没有一些猜测。

我通过Android SDK Manager安装了Android 4.2.2(我不得不使用较旧的 API v17 ,因为它与较新版本不兼容),添加了 {{1 SDK的PATH environment variablesplatform-tools认为我已经准备好通过运行命令来起飞了:

tools

尽管如此,我收到以下错误:

phonegap run android

7 个答案:

答案 0 :(得分:358)

错误消息证明是正确的,因为Apache Ant不再出现在Mac OS X Mavericks的路径中。

防弹解决方案:

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

      

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

  2. 执行

    ,通过Homebrew安装Apache Ant
      

    brew install ant

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

答案 1 :(得分:45)

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

但是如果你想没有第三方软件包管理器,可以通过从apache ANT网站下载binary release并将二进制文件添加到系统路径来解决问题。


例如,在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

答案 2 :(得分:28)

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

sudo port install apache-ant

答案 3 :(得分:21)

它不需要端口和酿造! 因为你有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制作可执行的蚂蚁命令

chmod 770 [your ANT_HOME/bin/ant]

.3测试如果您看到以下消息。那是成功的!

命令行执行:ant

Buildfile:build.xml不存在!

构建失败

答案 4 :(得分:14)

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

  1. 更新brew:brew update
  2. 安装Apache Ant:brew install ant

答案 5 :(得分:7)

在我的情况下,我已经安装了macport。我只是更新了我的macport:

sudo port selfupdate

sudo port upgrade outdated

然后安装apache-ant:

sudo port install apache-ant

最后,我在我的.bash_profile

中添加了我的别名列表中的ant
alias ant='/opt/local/bin/ant'

然后你就定了。

答案 6 :(得分:3)

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

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