Ошибка выполнения команды ant в Mac OS X 10.9 Mavericks при сборке для Android с помощью PhoneGap / Cordova

139

Сегодня я попробовал PhoneGap / Cordova с Mac OS X Mavericks . Сборка для iOS прошла отлично, но сборка для Android не обходилась без некоторых догадок.

Я установил Android 4.2.2 с помощью Android SDK Manager (я должен был использовать старый API V17 , так как она не совместима с более новой), добавил PATH environment variablesк SDK, 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 помогла, я до сих пор не понимаю, почему она не работала раньше, если я запускаю ant -v из папки bin, которую мне не нужно устанавливать Environment varibales, это так странно ...
LoveMeow

Ответы:

361

Сообщение об ошибке подтвердилось, поскольку Apache Ant больше не находится на пути Mac OS X Mavericks.

Пуленепробиваемое решение:

  1. Загрузите и установите Homebrew, выполнив в терминале следующую команду:

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

  2. Установите Apache Ant через Homebrew, выполнив

    заварить установить муравей

Снова запустите сборку PhoneGap, и она должна успешно скомпилировать и установить ваше приложение для Android.

Мобайлдуд
источник
1
Тем же. Ваше решение было простым и отличным. Хорошо ответил!
Йоаким Виммерштедт
6
Ant сейчас находится в доморощенном ядре. Просто используйтеbrew install ant
meaku
3
ОБНОВЛЕНИЕ КОМАНД: ruby ​​-e "$ (curl -fsSL raw.github.com/mxcl/homebrew/go/install )"
Феликс
1
Не забудьте выполнить команду "brew doctor" после установки brew и перед использованием brew для установки ant.
Wytze
10
Не забудьте brew updateперед использованием, если у вас уже установлен homebrew ....
Христос Хрусис,
45

Вы можете установить ANT через macports или homebrew.

Но если вы хотите обойтись без сторонних менеджеров пакетов, проблему можно просто решить, загрузив двоичную версию с веб-сайта apache ANT и добавив двоичный файл в 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, а на моем у меня тоже ничего не было на моем пути. Я загрузил двоичную версию, разархивировал ее и создал папку под названием ant в / usr / local, затем скопировал из распакованного двоичного файла папку bin и lib в / usr / local / ant, после чего добавил / usr / local / ant / bin в ваш путь и перезапустите терминал, и все было золотым, просто сделайте то, что сказал Койот, и у вас будет работать CLI телефонной связи в кратчайшие сроки.
Robert-W
1
Это должен быть принятый ответ. Худой и чистый. Установите то, что вам нужно. Использование Apache Ant занимает всего 2 минуты установки.
Мишель
28

В качестве альтернативы homebrew вы можете загрузить и установить macports . Если у вас есть macports, вы можете использовать:

sudo port install apache-ant

Джон Марк
источник
1
@ Goaler444: Вы используете старую версию macports? Попробуйте port search antнайти там Apache Ant.
Джон Марк
Да, вот и все, обновил порты, введя "sudo port -v selfupdate", и это сработало. Спасибо :)
Goaler444
@JohnMark, я все еще получаю ту же ошибку, пожалуйста, помогите. Я выполнил процедуру, о которой вы упомянули, нужно ли мне устанавливать какие-либо другие
Чаран Гири
Является ли antна вашем пути? Если вы наберете which antв терминале, вы что-нибудь получите?
Джон Марк
@JohnMark, спасибо за ответ, когда я набрал, какой муравей у меня получился "/ usr / local / bin / ant"
Чаран Гири
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 сделать команду ant, которая может выполняться

chmod 770 [your ANT_HOME/bin/ant]

.3 проверьте, видите ли вы сообщение ниже. это успех!

командная строка выполнить: муравей

Файл сборки: build.xml не существует!

Сборка не удалась

user2300434
источник
Мой Eclipse установлен в другом месте. После установки ANT_HOME="/Applications/eclipse/plugins/orig.apache.ant_1.8.3.v201301120609"все заработало!
Мишель
14

Я столкнулся с той же проблемой при попытке использовать Кордову. Оказывается, пиво уже было, попробуй which brew, но оно устарело. Итак, мне сначала пришлось его обновить:

  1. Обновить варево: brew update
  2. Установите Apache Ant: brew install ant
user1
источник
7

В моем случае у меня уже установлен macport. Я просто обновил свой macport:

sudo port selfupdate

sudo port upgrade outdated

Затем установите apache-ant:

sudo port install apache-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

K00kykelly
источник