无法运行aapt命令 - 不断返回“Android SDK Build-tools”

时间:2013-11-28 18:36:37

标签: android

我正在尝试做什么:在Mac OSX上安装Android构建工具,以便我可以使用aapt命令来处理/处理一些图像以进行测试

我做了什么:

  1. 使用brew
  2. 安装Android SDK
  3. 运行android命令以显示SDK Manager
  4. 使用Manager安装SDK工具(22.3),SDK Platform-tools(19),SDK Build-tools(19)和Android 4.4
  5. 我已经确认使用brew时工具已添加到默认位置。
  6. 会发生什么: 正在运行aaptaapt v始终会返回Use the 'android' tool to install the "Android SDK Build-tools".

    我也尝试使用android update更新工具,但仍然无法正常工作。

    修改 运行aapt v的完整路径有效。我现在假设我的PATH存在问题,我仍然需要解决

    有关下一步尝试的任何线索将不胜感激。

1 个答案:

答案 0 :(得分:23)

我很确定Android SDK不会尝试为您修改PATH变量。如果您希望能够在不指定完整路径的情况下运行SDK工具,则需要将包含它们的文件夹逐一添加到PATH

您可以通过编辑~/.bash_profile并添加类似的行(或编辑现有的行(如果已有)来执行此操作:

export PATH="$PATH:/PATH/TO/android-sdk-macosx/build-tools/17.0.0"

或者,您可以在调用时指定工具的完整路径,如下所示:

/PATH/TO/android-sdk-macosx/build-tools/17.0.0/aapt v

我不确定aapt是否会发生这种情况,但如果安装了多个版本的工具,这可能有助于消除歧义。要查看bash正在解析的命令版本,通常可以通过运行which来查找,如下所示:

which aapt

修改

对这个答案有很多好的评论,包括Jared's excellent suggestion to dynamically add the latest build-tools to the path。我用纯粹的3.x bash重新实现了他的代码,这是我~/.bash_profile中的当前内容。首先,请务必设置ANDROID_HOME

export ANDROID_HOME="$HOME/Library/Android/sdk" #Set this to the path to your Android SDK if it's not in the default location

然后(如果你使用bash):

BUILD_TOOLS=($ANDROID_HOME/build-tools/*)
ANDROID_LATEST_BUILD_TOOLS="${BUILD_TOOLS[@]:(-1)}"
export PATH="$PATH:$HOME/bin:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_LATEST_BUILD_TOOLS"

或者,这是一个POSIX版本,可以在任何shell中使用:

ANDROID_LATEST_BUILD_TOOLS=$(ls -r ${ANDROID_HOME}/build-tools|head -1)
export PATH="$PATH:$HOME/bin:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_HOME/build-tools/$ANDROID_LATEST_BUILD_TOOLS"