背景
升级 Android SDK tools 到版本26后就打不开Android SDK SDK Manager.exe工具了,甚至会找不到Avd Manager.exe和Sdk Manager.exe这两个文件。这是因为谷歌把他们移除了,功能整合到Android Studio中。
想配置个代理、镜像什么的都找不到入口,有两个解决方法。
如果还想使用这两个,可以去下载对应平台的sdkmanager:
http://dl.google.com/android/android-sdk_r24.4.1-windows.zip
http://dl.google.com/android/android-sdk_r24.4.1-macosx.zip
http://dl.google.com/android/android-sdk_r24.4.1-linux.tgz
24.4.1应该是最后一个带有这两个exe文件的 tools 文件。(linux和mac请忽略),与之后版本的只剩了tools命令工具,链接命名不同,不带这两个exe了,如tools_r25.2.5-windows.zip、sdk-tools-windows-4333796.zip
解压覆盖。里面就tools工具文件夹和两个exe文件。接着升级到25.2.5,这是最后一个能打开Avd Manager.exe和Sdk Manager.exe的版本。升级可以打开通过Sdk Manager.exe升级,也可以通过下载25.2.5版本的tools解压升级:
http://dl-ssl.google.com/android/repository/tools_r25.2.5-windows.zip
当前最新的tools是26.1.1,下载链接是:
https://dl.google.com/android/repository/sdk-tools-windows-4333796.zip
体积比25.2.5小了一半。部分工具升级,部分移除了。
升级后并不意味着必须Android Studio,谷歌改成了命令行的操作形式了。进入sdk/tools/bin中执行,要求版本25.2.3以上。
sdkmanager 命令可以安装包、配置代理等。
看谷歌的说明吧:
原文链接:https://developer.android.google.cn/studio/command-line/sdkmanager.html
以下是全部内容:
The Android Developer Challenge is back! Submit your idea before December 2.
sdkmanager
是一个命令行工具,可让您查看、安装、更新和卸载 Android SDK 的软件包。如果您使用 Android Studio,则无需使用此工具,而可以从 IDE 管理 SDK 软件包。
sdkmanager
工具在 Android SDK Tools 软件包(25.2.3 及更高版本)中提供,并位于 android_sdk/tools/bin/
目录下。
您可以使用 sdkmanager
执行以下任务。
sdkmanager --list [options]
sdkmanager packages [options]
packages 参数是 --list
命令列出的 SDK 样式的路径,这些路径括在引号中,如 "build-tools;29.0.0"
或 "platforms;android-28"
。您可以传递多个软件包路径(用空格分隔),但各个路径必须括在各自的一组引号中。
例如,下面展示了如何安装最新的平台工具(包括 adb
和 fastboot
)以及适用于 API 级别 28 的 SDK 工具:
sdkmanager "platform-tools" "platforms;android-28"
或者,您也可以传递指定所有软件包的文本文件:
sdkmanager --package_file=package_file [options]
package_file 参数指定了文本文件所在的位置,该文件中的每一行都代表要安装的软件包的 SDK 样式路径(不带引号)。
要卸载软件包,只需添加 --uninstall
标记:
sdkmanager --uninstall packages [options]
sdkmanager --uninstall --package_file=package_file [options]
sdkmanager --update [options]
下表列出了上述命令的可用选项。
选项 | 说明 |
---|---|
--sdk_root=path |
使用指定的 SDK 路径而不是包含此工具的 SDK |
--channel=channel_id |
在通道(最多 channel_id 个)中添加软件包。可用的通道包括:
|
--include_obsolete |
在软件包列表或软件包更新中添加过时的软件包。仅适用于 --list 和 --update 命令。 |
--no_https |
强制所有连接使用 HTTP 而不是 HTTPS。 |
--verbose |
详细输出模式。该模式会输出错误、警告和参考性消息。 |
--proxy={http | socks} |
通过给定类型的代理建立连接:表示高级协议(如 HTTP 或 FTP)的 http 代理,或者表示 SOCKS(V4 或 V5)的 socks 代理。 |
--proxy_host={IP_address| DNS_address} |
要使用的代理的 IP 或 DNS 地址。 |
--proxy_port=port_number |
要连接到的代理端口号。 |
注意:如果要为与当前计算机不同的操作系统安装软件包,请将 REPO_OS_OVERRIDE
环境变量设置为“windows”、“macosx”或“linux”。
Was this page helpful?
Content and code samples on this page are subject to the licenses described in the Content License. Java is a registered trademark of Oracle and/or its affiliates.