使用calabash-android时的Android SDK路径问题

时间:2015-05-26 01:30:25

标签: android android-sdk-tools calabash calabash-android

我在尝试运行calabash-android命令时遇到“无法找到Android SDK,请确保它已安装”错误。我已经通过brew安装了Android SDK。以下是我的.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/ruby-2.1.1@global/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" "$@"

我可以从命令行运行Android SDK Manager,它显示正确的SDK路径(/usr/local/Cellar/android-sdk/24.2)。

我很难过。有什么想法为什么calabash-android找不到SDK?

2 个答案:

答案 0 :(得分:0)

查看你的$ PATH输出似乎是android sdk路径没有加载到PATH中。将以下内容添加到.bash_profile

PATH = $ PATH:$ ANDROID_HOME

答案 1 :(得分:0)

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

我收到了以下错误

  

在'/ Users / marcg / Library / Android / sdk / platforms'中找不到任何平台目录

我用下面的符号链接更正了这个:

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

我再次跑了,得到一个错误,即/Users/marcg/Library/Android/sdk/platforms

的标准目录中缺少android jar

然后我将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/

还在

  

未在'/ Users / marcg / Library / Android / sdk / platforms'的任何标准目录中找到'android.jar'。因此,葫芦需要更长时间才能加载

我将android.jar复制到platform-tools目录,剩下的错误就消失了。

纠正步骤:

  1. 在指向平台工具的平台中创建符号链接 ln -s ../platform-tools/ platform
  2. 将android.jar复制到platform-tools目录
  3. 如果框架允许您通过文件或其他环境配置来查找其中的每一个,那会更好。我之前将ANDROID_HOME设置为platform-tools目录的尝试没有用,为什么我做了符号链接。