我想从命令行设置Android开发环境,遇到以下问题:

wget http://dl.google.com/android/android-sdk_r22.0.5-linux.tgz

解压完成后,运行

tools/android update sdk --no-ui

但是,它跑起来太慢了

Fetching https://dl-ssl.google.com/android/repository/addons_list-2.xml

结果是在文件夹build-tools中什么都没有,我想要的是apapt和apkbuilder,因为我想从命令行构建apk而没有ant。


当前回答

Android更新SDK

此命令将更新和安装所有最新版本的SDK工具,构建工具,SDK平台工具。

这是我的工作。

其他回答

我就遇到了这个问题,所以我最终通过读取和解析可用工具列表来编写了一行bash dirty解决方案:

 tools/android update sdk -u -t $(android list sdk | grep 'Android SDK Build-tools' | sed 's/ *\([0-9]\+\)\-.*/\1/')

构建工具在默认情况下不能自动下载,就像Nate在https://stackoverflow.com/a/19416222/1104031的帖子中说的那样。

但是我写了一个小工具,为你做一切

我在https://stackoverflow.com/a/17863931/1104031的帖子中使用了“期望”工具作为danb。 你只需要android-sdk和python27。

这个脚本将安装所有的构建工具,所有的sdk和自动构建所需的一切:

import subprocess,re,sys

w = subprocess.check_output(["android", "list", "sdk", "--all"])
lines = w.split("\n")
tools = filter(lambda x: "Build-tools" in x, lines)
filters = []
for tool in tools:
  m = re.search("^\s+([0-9]+)-", tool)
  tool_no = m.group(1)
  filters.append(tool_no)

if len(filters) == 0:
  raise Exception("Not found build tools")


filters.extend(['extra', 'platform', 'platform-tool', 'tool'])

filter = ",".join(filters)

expect= '''set timeout -1;
spawn android update sdk --no-ui --all --filter %s;
expect {
  "Do you accept the license" { exp_send "y\\r" ; exp_continue }
  eof
}''' % (filter)

print expect

ret = subprocess.call(["expect", "-c", expect])
sys.exit(ret)

我更喜欢放一个脚本来安装我的依赖

喜欢的东西:

#!/usr/bin/env bash
#
# Install JUST the required dependencies for the project.
# May be used for ci or other team members.
#

for I in android-25 \
         build-tools-25.0.2  \
         tool \
         extra-android-m2repository \
         extra-android-support \
         extra-google-google_play_services \
         extra-google-m2repository;

 do echo y | android update sdk --no-ui --all --filter $I ; done

https://github.com/caipivara/android-scripts/blob/master/install-android-dependencies.sh

在不安装整个android studio的情况下安装android环境:

下载JDK(版本大于8) 从https://gradle.org/install/下载gradle 从https://developer.android.com/studio下载命令行工具,只下载命令行工具 设置必要的环境变量 下载必要的SDK工具

Try

1. 列出所有软件包

android list sdk --all

2. 使用以下命令安装包

android update sdk -u -a -t package1, package2, package3 //comma seperated packages obtained using list command