Ошибка выполнения команды 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 не существует!

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


Мой 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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.