Błąd podczas wykonywania polecenia „ant” w systemie Mac OS X 10.9 Mavericks podczas tworzenia dla systemu Android za pomocą PhoneGap / Cordova

139

Dzisiaj próbowałem PhoneGap / Cordova z Mac OS X Mavericks . Tworzenie dla iOS poszło dobrze, ale tworzenie dla Androida nie obyło się bez domysłów.

Mam zainstalowany Android 4.2.2 poprzez Android SDK Manager (musiałem użyć starszej API V17 , ponieważ nie był kompatybilny z nowszym), dodaje się PATH environment variablesdla SDK platform-toolsi toolsi że jestem gotowy do startu, uruchamiając komendę :

phonegap run android

Niemniej jednak otrzymałem następujący błąd:

[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.
Mobiletainment
źródło
3
To samo dzieje się ze mną ... Zainstalowanie go przez brew rozwiązało problem!
Sebastian,
poszedłem do folderu / bin i nadal miałem to samo polecenie nie znaleziono Problem, zainstalowanie go z naparem pomogło, nadal nie rozumiem, dlaczego wcześniej nie działało, jeśli uruchomię ant -v z folderu bin Nie muszę ustawiać Środowisko zmienne, to takie dziwne ...
LoveMeow

Odpowiedzi:

361

Komunikat o błędzie okazał się prawdziwy, ponieważ Apache Ant nie jest już na ścieżce Mac OS X Mavericks.

Rozwiązanie kuloodporne:

  1. Pobierz i zainstaluj Homebrew, wykonując następujące polecenie w terminalu:

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

  2. Zainstaluj Apache Ant przez Homebrew, wykonując

    napar zainstalować mrówkę

Uruchom ponownie kompilację PhoneGap, która powinna pomyślnie skompilować i zainstalować aplikację na Androida.

Mobiletainment
źródło
1
Podobnie. Twoje rozwiązanie było łatwe i świetne. Dobrze odpowiedział!
Joakim Wimmerstedt
6
Ant jest teraz w homebrew-core. Po prostu użyjbrew install ant
meaku
3
AKTUALIZACJA POLECEŃ: ruby ​​-e "$ (curl -fsSL raw.github.com/mxcl/homebrew/go/install )"
Felix
1
Nie zapomnij wykonać polecenia „brew doctor” po zainstalowaniu naparu i przed użyciem naparu do zainstalowania mrówki.
Wytze
10
Nie zapomnij, brew updatezanim go użyjesz, jeśli masz już zainstalowany homebrew ....
Christos Hrousis
45

Możesz zainstalować ANT przez macports lub homebrew.

Ale jeśli chcesz obejść się bez zewnętrznych menedżerów pakietów, problem można po prostu rozwiązać, pobierając wersję binarną ze strony internetowej apache ANT i dodając plik binarny do PATH systemu.


Na przykład w Mountain Lion, ~/.bash_profilea ~/.bashrcmoja ścieżka była ustawiona w następujący sposób:

export ANT_HOME="/usr/share/ant"
export PATH=$PATH:$ANT_HOME/bin

Więc po zdekompresowaniu apache-ant-1.9.2-bin.tar.bz2przeniosłem wynikowy katalog do /usr/share/i zmieniłem jego nazwę ant.

To proste, problem został rozwiązany.


Uwaga Nie zapomnijsudo chown -R root:wheel /usr/share/ant

Kojot
źródło
Zrobiłem coś bardzo podobnego, ponieważ nie używam homebrew ani macports, a na moim też nie miałem do tego nic na drodze. Pobrałem wersję binarną, rozpakowałem ją i utworzyłem folder o nazwie ant w / usr / local, a następnie skopiowałem z rozpakowanego pliku binarnego folder bin i lib do / usr / local / ant, a następnie dodałem / usr / local / ant / bin do Twoja ścieżka i zrestartuj terminal i wszystko poszło złotem, po prostu zrób to, co powiedział Coyote, a będziesz mieć telefoniczny interfejs CLI działający w mgnieniu oka.
Robert-W
1
To powinna być akceptowana odpowiedź. Szczupłe i czyste. Zainstaluj to, czego potrzebujesz. Korzystanie z Apache Ant zajmuje tylko 2 minuty od instalacji.
Michel
28

Jako alternatywę dla homebrew możesz pobrać i zainstalować macports . Gdy masz już macport, możesz użyć:

sudo port install apache-ant

John Mark
źródło
1
@ Goaler444: Czy używasz starej wersji macports? Spróbuj port search anti poszukaj tam Apache Ant.
John Mark
Tak, to wszystko, zaktualizowałem porty, wpisując „sudo port -v selfupdate” i zadziałało. Dzięki :)
Goaler444
@JohnMark nadal mam ten sam błąd, proszę o pomoc. postępowałem zgodnie z procesem, o którym wspomniałeś, czy muszę zainstalować inny
Charan Giri,
Jest antna Twojej ścieżce? Jeśli napiszesz which antw terminalu, czy coś otrzymasz?
John Mark,
@JohnMark dziękuję za odpowiedź, gdy wpisałem, którą mrówkę otrzymałem „/ usr / local / bin / ant”
Charan Giri,
21

nie potrzebuje porto i naparu! ponieważ masz pakiet SDK dla Androida.

.1 edytuj swój .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 zrobić komendę ant, która może być wykonana

chmod 770 [your ANT_HOME/bin/ant]

.3 sprawdź, czy widzisz poniższy komunikat. to sukces!

wiersz poleceń wykonaj: ant

Buildfile: build.xml nie istnieje!

Budowa nieudana

user2300434
źródło
Mój Eclipse jest zainstalowany w innym miejscu. Po ustawieniu ANT_HOME="/Applications/eclipse/plugins/orig.apache.ant_1.8.3.v201301120609"zadziałało!
Michel
14

Napotkałem ten sam problem, próbując użyć Cordova. Okazuje się, że już się napiłem, próbowałem which brew, ale był przestarzały. Więc najpierw musiałem to zaktualizować:

  1. Zaktualizuj napar: brew update
  2. Zainstaluj Apache Ant: brew install ant
użytkownik1
źródło
7

W moim przypadku mam już zainstalowany macport. Po prostu zaktualizowałem swój macport:

sudo port selfupdate

sudo port upgrade outdated

Następnie zainstaluj apache-ant:

sudo port install apache-ant

Na koniec dodaję ant do mojej listy aliasów w moim .bash_profile:

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

Wtedy wszystko jest gotowe.

Rycerski
źródło
3

W przypadku OSX ścieżka musi zawierać /Users/yourusername

ich przykład: /Development/adt-bundle/sdk/platform-tools
musi być: /Users/yourusername/Development/adt-bundle/sdk/platform-tools

K00kykelly
źródło