12

尝试运行 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

“哪个机器人”产生:

/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?

4

3 回答 3

3

这将解决您的问题,

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

  2. 安装安卓平台工具->brew install android-platform-tools

- 还要确保自己有管理员权限

于 2015-09-10T19:25:57.327 回答
0

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

PATH=$PATH:$ANDROID_HOME

于 2015-07-06T22:06:17.760 回答
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

我再次运行并收到一个错误,即标准目录中缺少 android jar/Users/marcg/Library/Android/sdk/platforms

然后我将那个 android.jar 复制到这个平台目录

目录现在看起来像:

/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”。因此,Calabash 将需要更长的时间来加载

我将 复制android.jarplatform-tools目录中,剩余的错误消失了。

纠正步骤:

  1. 在指向平台工具的平台中创建符号链接
    ln -s ../platform-tools/ platform
  2. 将 android.jar 复制到平台工具目录

如果框架允许您通过文件或其他 env vars 配置在哪里可以找到其中的每一个,那就更好了。我之前尝试设置ANDROID_HOME为 platform-tools 目录没有奏效,为什么我做了一个符号链接。

于 2016-10-05T13:45:20.327 回答