到目前为止,我使用的是一台Windows 8.1 PC,它没有存储空间或RAM来支持Android Studio或Eclipse这样的IDE。我想下载Android SDK工具,没有IDE。如何才能做到这一点呢?
当前回答
从CLI安装最新版本,不指定版本号
下面是一种从CLI下载Android SDK最新版本的方法。
首先,创建并移动到以下目录:
mkdir -p ~/android-sdk/cmdline-tools
cd ~/android-sdk/cmdline-tools
然后下载SDK(它基本上是从HTML中找到下载URL并下载,如果你进入网页,你会看到它只显示最后一个,所以它是有效的):
curl -s https://developer.android.com/studio\#command-tools | grep -Eo 'https://dl.google.com/android/repository/commandlinetools-mac-[0-9]*_latest.zip' | head -n 1 | xargs wget
解压缩文件
ls -A1 | xargs unzip
其他回答
只有命令行,没有sdkmanager(高级用户/ CI):
您可以在存储库XML文件中找到所有单独包的下载链接,包括各种修订: https://dl.google.com/android/repository/repository-12.xml
(其中12是存储库索引的版本,将来还会增加)。
所有<sdk:url>值都相对于https://dl.google.com/android/repository,因此
<sdk:url>platform-27_r03.zip</sdk:url>
可以在https://dl.google.com/android/repository/platform-27_r03.zip下载
类似的概要XML文件也存在于系统映像中:
(默认)https://dl.google.com/android/repository/sys-img/android/sys-img.xml (google_apis) https://dl.google.com/android/repository/sys-img/google_apis/sys-img.xml
命令行方式
mkdir android-sdk
cd android-sdk
wget https://dl.google.com/android/repository/sdk-tools-linux-*.zip
unzip sdk-tools-linux-*.zip
tools/bin/sdkmanager --update
在执行上述命令时,请确保将*替换为您可以在下载页面中找到的适当版本号。
安装包
还可以使用sdkmanager列出和安装所需的任何特定软件包。
tools/bin/sdkmanager --list
tools/bin/sdkmanager "platform-tools" "platforms;android–27" "build-tools;27.0.3"
FYI
Sdk-tools-linux -*.zip仅包含命令行工具。它将内容提取到一个名为tools的目录中,例如:
+- android-sdk
+- tools
要获得SDK包,我们可以运行:
tools/bin/sdkmanager --update
sdkmanager接受以下标志:
--sdk_root=<sdkRootPath>: Use the specified SDK root instead of the SDK
containing this tool
但是如果我们忽略这个标志,它假设tools目录的父目录作为sdk根目录,在我们的例子中是android-sdk目录。
如果你在运行tools/bin/sdkmanager -update后检查android-sdk文件夹,它会像这样:
+- android-sdk
+- tools
+- emulator
+- platforms
+- platform-tool
如果需要,也设置ANDROID_HOME环境变量如下:
export ANDROID_HOME=/path/to/android-sdk
从CLI安装最新版本,不指定版本号
下面是一种从CLI下载Android SDK最新版本的方法。
首先,创建并移动到以下目录:
mkdir -p ~/android-sdk/cmdline-tools
cd ~/android-sdk/cmdline-tools
然后下载SDK(它基本上是从HTML中找到下载URL并下载,如果你进入网页,你会看到它只显示最后一个,所以它是有效的):
curl -s https://developer.android.com/studio\#command-tools | grep -Eo 'https://dl.google.com/android/repository/commandlinetools-mac-[0-9]*_latest.zip' | head -n 1 | xargs wget
解压缩文件
ls -A1 | xargs unzip
您可以在下载页面的“仅限命令行工具”部分找到命令行工具。
以下是目前(26.1.1版本)页面中提供的链接:
Windows没有安装程序:https://dl.google.com/android/repository/sdk-tools-windows-4333796.zip MacOSX: https://dl.google.com/android/repository/sdk——工具——达尔文- 4333796. - zip Linux: https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip
在下载任何命令行工具之前,请确保已阅读并同意服务条款。
windows的安装程序版本似乎不再可用,这是24.4.1版本的链接:
Windows安装程序:https://dl.google.com/android/installer_r24.4.1-windows.exe
那么,那些试图在*ix或Ec2机器上下载的人会建议按照以下步骤清理方法:
$ mkdir android-sdk
$ cd android-sdk
$ mkdir cmdline-tools
$ cd cmdline-tools
$ wget https://dl.google.com/android/repository/commandlinetools-linux-*.zip
$ unzip commandlinetools-linux-*.zip
king - sdkmanager住在里面
cmdline-tools /工具/ bin
,最好在PATH中设置环境变量。
但是cmdline-tools不应该设置为ANDROID_HOME。因为以后更新Android SDK,或者安装更多的包时,其他包会放在ANDROID_HOME下,而不是cmdline-tools下。
最终,完整的ANDROID_HOME目录结构如下所示,由相当多的子目录组成:
构建工具,cmdline-tools,模拟器,许可证,补丁程序,平台工具,平台,工具。 你可以很容易地指出build-tools和cmdline-tools是兄弟姐妹,都位于父目录ANDROID_HOME中。
在PATH环境变量中添加SDK工具目录,使可执行文件全局可用。在~/中添加以下行。Bashrc或~/。配置文件,使其永久。
为了编辑~/。Bashrc可以在vim模式下编辑
$ vim .bashrc
现在在.bashrc文件中设置你首选的ANDROID_HOME:
export ANDROID_HOME=/home/<user>/android-sdk
export PATH=${PATH}:$ANDROID_HOME/cmdline-tools/tools/bin:$ANDROID_HOME/platform-tools
奇怪的是,我们现在还没有下载platform-tools目录,但在path下提到它,因为它将帮助你避免以后在同一个文件上重新编辑。
现在进入相同的目录:
$ cd android-sdk
注意:第一次尝试sdkmanager命令没有为我找到,所以我关闭终端,再次创建连接,或者你也可以刷新相同的,如果它为你工作。
然后使用sdkmanager列出并安装所需的包:
$ sdkmanager "platform-tools" "platforms;android-27" "build-tools;27.0.3"
因此,Sdkmanager路径已经设置,可以从任何地方访问:
$ sdkmanager --update
$ sdkmanager --list
Installed packages:=====================] 100% Computing updates...
Path | Version | Description | Location
------- | ------- | ------- | -------
build-tools;27.0.3 | 27.0.3 | Android SDK Build-Tools 27.0.3 | build-tools/27.0.3/
emulator | 30.0.12 | Android Emulator | emulator/
patcher;v4 | 1 | SDK Patch Applier v4 | patcher/v4/
platform-tools | 30.0.1 | Android SDK Platform-Tools | platform-tools/
platforms;android-27 | 3 | Android SDK Platform 27 | platforms/android-27/
推荐文章
- 警告:API ' variable . getjavacompile()'已过时,已被' variable . getjavacompileprovider()'取代
- 安装APK时出现错误
- 碎片中的onCreateOptionsMenu
- TextView粗体通过XML文件?
- 如何使线性布局的孩子之间的空间?
- DSL元素android.dataBinding。enabled'已过时,已被'android.buildFeatures.dataBinding'取代
- ConstraintLayout:以编程方式更改约束
- PANIC: AVD系统路径损坏。检查ANDROID_SDK_ROOT值
- 如何生成字符串类型的buildConfigField
- Recyclerview不调用onCreateViewHolder
- Android API 21工具栏填充
- Android L中不支持操作栏导航模式
- 如何在TextView中添加一个子弹符号?
- PreferenceManager getDefaultSharedPreferences在Android Q中已弃用
- 在Android Studio中创建aar文件