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

今天,我用Mac OS X Mavericks尝试了PhoneGap / Cordova。 为iOS构build得很好,但为Android构build并非没有任何猜测。

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

 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. 

错误消息被certificate是正确的,因为Apache Ant不再是Mac OS X Mavericks的path。

防弹解决scheme:

  1. 通过在terminal执行以下命令下载并安装Homebrew:

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

  2. 通过执行,通过Homebrew安装Apache Ant

    brew安装ant

再次运行PhoneGap构build,它应该成功编译和安装您的Android应用程序。

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

但是如果你不想使用第三方软件包pipe理器,那么可以通过从apache ANT网站下载二进制版本并将二进制文件添加到系统PATH来修复问题。


例如,在Mountain Lion上,在~/.bash_profile~/.bashrc我的path是这样设置的:

 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 。 一旦你有macports,你可以使用:

sudo port install apache-ant

它不需要端口和酿造! 因为你有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] 

.3testing你是否看到下面的消息。 这就是成功!

命令行执行:ant

Buildfile:build.xml不存在!

生成失败

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

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

就我而言,我已经安装了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' 

然后你们全都定了。

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

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