PhoneGap / CordovaでAndroid用にビルドするときにMac OS X 10.9 Mavericksでコマンド「ant」を実行するとエラーが発生する


139

今日は、Mac OS X MavericksでPhoneGap / Cordovaを試しました。iOS向けのビルドはうまくいきましたが、Android向けのビルドには推測が必要でした。

Android 4.2.2をAndroid SDK Managerを介してインストールしました(新しいAPI v17は新しいAPIと互換性がなかったため使用する必要がありました)、PATH environment variablesSDKの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.

3
私にも同じことが起こっています... brewを使用してインストールすると解決しました!
セバスチャン

/ binフォルダーに移動しましたが、同じコマンドが見つかりませんでした問題、brewを使用してインストールすると、以前は機能しなかった理由がわかりません。binフォルダーからant -vを実行した場合、設定する必要はありません。環境変数、これはとても奇妙です...
LoveMeow 2015

回答:


361

Apache AntはMac OS X Mavericksのパスに含まれていないため、エラーメッセージは正しいことが判明しました。

防弾ソリューション:

  1. ターミナルで次のコマンドを実行して、Homebrewをダウンロードしてインストールします。

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

  2. 次のコマンドを実行して、Homebrew経由でApache Antをインストールします。

    醸造インストールアリ

PhoneGapビルドを再度実行すると、Androidアプリが正常にコンパイルおよびインストールされます。


1
同じ。あなたのソリューションは簡単で素晴らしいものでした。よく答えました!
Joakim Wimmerstedt 2013年

6
Antは現在自作コアです。単純に使うbrew install ant
meaku

3
コマンドの更新:ruby -e "$(curl -fsSL raw.github.com/mxcl/homebrew/go/install)"
Felix

1
brewをインストールした後、brewを使用してantをインストールする前に、「brew doctor」を実行することを忘れないでください。
Wytze 2014

10
忘れてはいけないbrew update、あなたがそれを使用する前にすでに自作インストールしている場合は、....
クリストスHrousis

45

ANTはmacportsまたはhomebrewからインストールできます。

あなたがサードパーティのパッケージマネージャーなしで実行したい場合はしかし、問題は、単にダウンロードして固定することができバイナリリリースのApache ANTのWebサイトからをして、システムのPATHにバイナリを追加します。


たとえば、マウンテンライオン、中に~/.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を追加しましたあなたのパスと再起動ターミナルとすべてが黄金でした、ただコヨーテが言ったことをしてください、そしてあなたはすぐに電話ギャップCLIが機能するでしょう。
Robert-W

1
これは受け入れられる答えになるはずです。リーンでクリーン。必要なものをインストールします。Apache Antを使用すると、インストールに2分しかかかりません。
ミシェル

28

自作の代わりに、macportsをダウンロードしてインストールすることもできます。Macportsを取得したら、次を使用できます。

sudo port install apache-ant


1
@ Goaler444:古いバージョンのmacportを使用していますか?port search antそこでApache Antを試してみてください。
John Mark

うん、それはそれでした、「sudo port -v selfupdate」と入力してポートを更新し、それは機能しました。おかげで:)
Goaler444 2013年

@JohnMark私はまだ同じエラーが出るので助けてください。私はあなたが言及したプロセスに従いましたが、他のものをインストールする必要があります
Charan Giri

であるantあなたのPATHに?which ant端末に入力すると、何か得られますか?
John Mark

@JohnMarkは、「/ usr / local / bin / ant」を取得したアリを入力したときの応答に感謝します
Charan Giri

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実行可能なmake 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"はうまくいきました!
ミシェル

14

Cordovaを使用しようとしたときに同じ問題が発生しました。私はすでに醸造していwhich brewたことがわかりました、を試してください。だから、私はそれを最初に更新しなければなりませんでした:

  1. 醸造を更新: brew update
  2. Apache Antをインストールします。 brew install ant

7

私の場合、すでにmacportがインストールされています。私は単にmacportを更新しました:

sudo port selfupdate

sudo port upgrade outdated

次に、apache-antをインストールします。

sudo port install apache-ant

最後に、myのエイリアスリストにantを追加します.bash_profile

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

その後、すべての準備が整いました。


3

OSXの場合、パスに含める必要があります /Users/yourusername

彼らの例: /Development/adt-bundle/sdk/platform-tools
する必要があります: /Users/yourusername/Development/adt-bundle/sdk/platform-tools

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.