Проблема с SDK для Android при использовании calabash-android

Я получаю . Не удалось найти Android SDK, пожалуйста, убедитесь, что он установил ошибку " при попытке запуска команд calabash-android. Я установил Android SDK через brew. Вот содержимое моего .bash_profile:

ANDROID_HOME=/usr/local/Cellar/android-sdk/24.2
PATH=$PATH:$ANDROID_HOME/tools
PATH=$PATH:$ANDROID_HOME/platform-tools
PATH=$PATH:$ANDROID_HOME/build-tools

if [ -f ~/.bashrc ]; then
        source ~/.bashrc
fi

[[ -s "$HOME/.profile" ]] && source "$HOME/.profile" # Load the default .profile

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

PATH=$PATH:/usr/local/apache-ant-1.9.4/bin
PATH=$PATH:/usr/local/share/npm/bin
JAVA_HOME=/usr/libexec/java_home

export PATH

Здесь мой $PATH:

echo $PATH
/Users/mchumak/.rvm/gems/ruby-2.1.1/bin:/Users/mchumak/.rvm/gems/[email protected]/bin:/Users/mchumak/.rvm/rubies/ruby-2.1.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/Cellar/android-sdk/24.2/tools:/usr/local/Cellar/android-sdk/24.2/platform-tools:/usr/local/Cellar/android-sdk/24.2/build-tools:/Users/mchumak/.rvm/bin:/Users/mchumak/.rvm/bin:/opt/local/bin:/opt/local/sbin:/Users/mchumak/.rvm/bin:/usr/local/apache-ant-1.9.4/bin:/usr/local/share/npm/bin

", который android" производит:

/usr/local/bin/android

Содержимое этого файла:

#!/bin/bash
TOOL="/usr/local/Cellar/android-sdk/24.2/tools/android"
exec "$TOOL" "[email protected]"

Я могу запустить Android SDK Manager из командной строки очень хорошо, и он показывает правильный путь к SDK (/usr/local/Cellar/android-sdk/24.2).

Я в тупике. Любые идеи, почему calabash-android не могут найти SDK?

Ответ 1

Это исправит вашу проблему,

  • echo "export PATH=$PATH:/Users/#username/Library/Android/sdk/platform-tools/sdk/platform-tools/" >> ~/.bash_profile

  • установить инструменты для Android-платформы → brew install android-platform-tools

- также убедитесь, что у вас есть права администратора

Ответ 2

Глядя на ваш выход $PATH, похоже, что путь sdk для Android не загружается в PATH. Добавьте ниже в свой .bash_profile

PATH = $PATH: $ANDROID_HOME

Ответ 3

calabash-android run /Users/marcg/Downloads/app-news.apk

Я получил следующую ошибку

Не удалось найти какой-либо каталог платформы в '/Users/marcg/Library/Android/sdk/platform'

Я скорректировал это с помощью символической ссылки ниже:

/Users/marcg/Library/Android/sdk/platforms
platforms$ ln -s ../platform-tools/ platform

Я снова побежал и получил сообщение об ошибке, которое отсутствовало в стандартном каталоге /Users/marcg/Library/Android/sdk/platforms

Затем я скопировал этот файл android.jar на эти платформы dir

Теперь Dir выглядит следующим образом:

/Users/marcg/Library/Android/sdk/platforms
us164912:platforms marcg$ ls -l
total 49640
-rwxr-xr-x   1 marcg Users  25409822 Oct  5 09:26 android.jar
lrwxr-xr-x   1 marcg Users        18 Oct  5 09:14 platform -> ../platform-tools/

По-прежнему получать

Не удалось найти "android.jar" в любом стандартном каталоге "/Users/marcg/Library/Android/sdk/platform". Поэтому Calabash займет больше времени, чтобы загрузить

Я скопировал каталог android.jar в каталог platform-tools, а оставшаяся ошибка исчезла.

Шаги для исправления:

  • Сделать символическую ссылку на платформах, которые указывают на платформенные инструменты
    ln -s ../platform-tools/ platform
  • Скопируйте файл android.jar в каталог инструментов платформы

Было бы лучше, если бы структура разрешила вам настраивать через файл или дополнительные env vars, где можно найти каждый из них. Моя предыдущая попытка установить ANDROID_HOME в dir платформы-tools не работала и почему я сделал символическую ссылку.