我从https://developer.android.com/studio/index.html下载了Android SDK工具,它给了我一个名为tools_r25.2.3-linux.zip
的zip文件。 Unziped,它生成了一个名为tools
的文件夹,其中包含sdkmanager,android
。当我尝试运行它时,它失败并显示上面的错误消息。
我将ANDROID_HOME
设置为tools
目录,但仍然失败。
答案 0 :(得分:17)
事实证明,ANDROID_HOME
需要设置为父目录,其中包含zip文件(名为tools
的单个目录)的内容。一旦我这样做,它运作良好。这似乎令人困惑,值得添加到stackoverflow。
答案 1 :(得分:4)
可以在任何地方打开zip文件。重要的是保留名称“工具”,文件完好无损。
从工具父目录运行 android 程序:
$ ./tools/android
这将使用许多文件夹和工具更新工具父目录(运行./tools/android
的工具)。
我将此父目录命名为 sdk 。我还将整个目录(名为sdk
)放在一个文件夹中,其名称为下载版本。
现在为了保持编程环境的一致性,我将 sdk 绑定到/opt
目录中的文件夹,以便它可以在系统范围内使用
层次结构变为:
/home/userid/android_r25.2.3/sdk
现在我在名为/opt/
的{{1}}目录中创建一个文件夹。
我的/opt/android/sdk
条目变为:
/etc/fstab
安装时:
/home/userid/android_r25.2.3/sdk /opt/android/sdk none bind
新版本或新安装的唯一变化是zip文件的打开位置。将 /home/userid/android_r25.2.3/sdk 替换为解压zip文件的位置,其他任何内容都不需要更改。
PATH变量将始终如一:
$ sudo mount /opt/android/sdk
当然,eclipse android配置变为:
$ export PATH=$PATH:/opt/android/sdk/tools:/opt/android/sdk/platform-tools
使用它作为一致的过程使得在新机器上重新安装和安装非常无缝......只有一个可能发生变化的变量,而这就是提取包的地方。
答案 2 :(得分:3)
还有一个问题是,必须保持unzip
结果tools
的名称不变,并将其移动到要创建的目录中,以便允许任何版本管理(或将其留在您的主目录,如果没有信息的目录名称,如"工具"不会分发你)。然后像@JesseW解释那样设置ANDROID_HOME
。
答案 3 :(得分:0)
将工具解压缩到例如~/android-sdk
,因此它将生效于~/android-sdk/tools
然后在~/.bashrc
export ANDROID_HOME="$HOME/android-sdk"
ANDROID_TOOLS="$ANDROID_HOME/tools"
ANDROID_PLATFORM_TOOLS="$ANDROID_HOME/platform-tools"
export PATH=${PATH}:$ANDROID_TOOLS:$ANDROID_PLATFORM_TOOLS;
然后运行sdkmanager