今日はMac OS X MavericksでPhoneGap/Cordovaを試しました。 iOS向けのビルドはうまくいきましたが、Android向けのビルドには推測が必要でした。
Android 4.2.2をAndroid SDK Manager経由でインストールしました(古いAPI v17は新しいものと互換性がないため使用しなければなりませんでした) 、SDKのPATH environment variables
およびtools
にplatform-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.
Apache AntはもはやMac OS X Mavericksのパスにないので、エラーメッセージは真実であることが判明しました。
防弾ソリューション:
ターミナルで次のコマンドを実行して、Homebrewをダウンロードしてインストールします。
Ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install )"
Homebrewを実行してApache Antをインストールします
醸造インストールアリ
PhoneGapビルドを再度実行すると、Androidアプリが正常にコンパイルおよびインストールされます。
ANTはmacportsまたはhomebrewからインストールできます。
しかし、サードパーティのパッケージマネージャーなしでやりたい場合は、Apache ANT Webサイトから 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
を忘れないでください
Homebrewの代わりに、 macports をダウンロードしてインストールできます。 macportを作成したら、次を使用できます。
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]
.3以下のメッセージが表示されるかどうかをテストします。それは成功です!
コマンドライン実行:ant
ビルドファイル:build.xmlは存在しません!
ビルドに失敗しました
Cordovaを使用しようとしたときに同じ問題が発生しました。私はすでに醸造していたことがわかったので、which brew
を試してみてください。しかし、それは時代遅れでした。そのため、最初に更新する必要がありました。
brew update
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の場合、パスには/Users/yourusername
を含める必要があります
例:/Development/adt-bundle/sdk/platform-tools
必要があります:/Users/yourusername/Development/adt-bundle/sdk/platform-tools