我想从命令行设置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。
灵感来自@i4niac和@Aurélien Lambert的回答,这是我想到的
csv_update_numbers=$(./android list sdk --all | grep 'Android SDK Build-tools' | grep -v 'Obsolete' | sed 's/\(.*\)\- A.*/\1/'|sed '/^$/d'|sed -e 's/^[ \t]*//'| tr '\n' ',')
csv_update_numbers_without_trailing_comma=${csv_update_numbers%?}
( sleep 5 && while [ 1 ]; do sleep 1; echo y; done ) \
| ./android update sdk --all -u -t $csv_update_numbers_without_trailing_comma
解释
在android list sdk——all命令的结果中获得一个以逗号分隔的数字列表,这些数字是构建工具包的索引(忽略过时的包)。
保持每隔几毫秒向终端抛出'y'以接受许可证。
ADB Build-Tools不会自动下载,通过命令android update sdk——no-ui
因此安装build - tool类型(在控制台):
android list sdk --all
记住项目前面列出的数字,并执行以下操作:
android update sdk -u --all --filter <number>
命令应该在/YourFolder/android-sdk-linux/tools中输入
对于远程文件夹(例如ssh打开的服务器)键入:
**./android** list sdk --all
**./android** update sdk -u --all --filter <number>
在终端输入简单的ADB包列表:
android list sdk
安装所有软件包:
android update sdk --no-ui
或带过滤器(逗号为分隔符):
android update sdk --no-ui --filter 3,5,8,14
我刚刚花了很长时间通过命令行安装android sdk依赖项,由于工具和在线附带的文档严重缺乏,我想我将在这里发布我发现的东西。
我正在使用android sdk r24.4.1 for linux。你可以运行两个命令来列出可用的包:
Android列表SDK
更详尽的是:
Android列表SDK——所有
对于上面的每个命令,特定包的包号不同!例如,前者将包API 23.1修订版3列为包#3,后者将其列为包#29。
现在,使用android命令有两种不同的安装方式。
Tools /android update SDK——no-ui——filter <package number>
and
Tools /android update SDK -u -a -t <包号>
假设每个安装命令都可以将package #作为参数,那么使用哪个包号呢?经过大量的网上搜索和尝试和错误,我发现
Android更新SDK——no-ui——过滤器使用Android列表SDK的包号
and
Android update SDK -u -a -t使用Android list SDK——all中的包号
换句话说,要安装API 23.1修订版3,你可以这样做:
Android更新SDK—no-ui—filter 3
or
Android更新SDK -u -a -t 29
很疯狂,但很有效。
从developer.android.com下载android SDK(目前windows操作系统的文件大小为149mb)。值得注意的是,android已经删除了sdkmanager GUI,但在位于tools文件夹内的bin文件夹中有一个sdkmanager的命令行版本。
When inside the bin folder, hold down the shift key, right click, then select open command line here.
Shift+right click >> open command line here.
When the command line opens, type sdkmanager click enter.
Then run type sdkmanager (space), double hyphen (--), type list
sdkmanager --list (this lists all the packages in the SDK manager)
Type sdkmanager (space) then package name, press enter.
Eg. sdkmanager platform-tools (press enter)
It will load licence agreement. With options (y/n). Enter y to accept and it will download the package you specified.
如需更多参考,请参考这里的官方文件
我希望这能有所帮助。:)