如何使用命令行下载更新Android SDK

801 阅读2分钟

这是我参与8月更文挑战的第28天,活动详情查看:8月更文挑战

最近需要在服务器上用Jenkins自动打包Android app,从google官网上下载的Linux版本sdk结果发现里面就只有一个tools目录有文件,其他的都没有。。。 无奈,服务器是没有界面的,之前都习惯用IDE去安装更新,现在尝试用命令行下载更新了。

下载Android SDK for Linux

从google的官网下载最新Linux版本SDK,由于dl.google.com域名一直没有被墙,所以才可以直接从官网下了。这点不错~

下载
$ wget https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz
或者
$curl -o https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz
或者
$wget -O https://dl.google.com/android/android-sdk_r24.4.1-linux.tgz

解压
$ tar zxvf android-sdk_r24.4.1-linux.tgz

更新Android SDK

前面说到了,我们下载的这个包其实只有tools目录下才有东西。既然google给了我们这个,表示这里面肯定有可以更新SDK的工具啦。 其实就是tools/android这个文件

$ cd android-sdk-linux/tools

进入后

查看当前可安装的SDK版本
$ ./android list sdk -a

Refresh Sources:
  Fetching https://dl.google.com/android/repository/addons_list-2.xml
  Validate XML
  Parse XML
  Fetched Add-ons List successfully
  Refresh Sources
  Fetching URL: https://dl.google.com/android/repository/repository-11.xml
  Validate XML: https://dl.google.com/android/repository/repository-11.xml
  Parse XML:    https://dl.google.com/android/repository/repository-11.xml
  Fetching URL: https://dl.google.com/android/repository/addon.xml
  Validate XML: https://dl.google.com/android/repository/addon.xml
  Parse XML:    https://dl.google.com/android/repository/addon.xml
  Fetching URL: https://dl.google.com/android/repository/glass/addon.xml
  Validate XML: https://dl.google.com/android/repository/glass/addon.xml
  Parse XML:    https://dl.google.com/android/repository/glass/addon.xml
  Fetching URL: https://dl.google.com/android/repository/extras/intel/addon.xml
  Validate XML: https://dl.google.com/android/repository/extras/intel/addon.xml
  Parse XML:    https://dl.google.com/android/repository/extras/intel/addon.xml
  Fetching URL: https://dl.google.com/android/repository/sys-img/android/sys-img.xml
  Validate XML: https://dl.google.com/android/repository/sys-img/android/sys-img.xml
  Parse XML:    https://dl.google.com/android/repository/sys-img/android/sys-img.xml
  Fetching URL: https://dl.google.com/android/repository/sys-img/android-wear/sys-img.xml
  Validate XML: https://dl.google.com/android/repository/sys-img/android-wear/sys-img.xml
  Parse XML:    https://dl.google.com/android/repository/sys-img/android-wear/sys-img.xml
  Fetching URL: https://dl.google.com/android/repository/sys-img/android-tv/sys-img.xml
  Validate XML: https://dl.google.com/android/repository/sys-img/android-tv/sys-img.xml
  Parse XML:    https://dl.google.com/android/repository/sys-img/android-tv/sys-img.xml
  Fetching URL: https://dl.google.com/android/repository/sys-img/google_apis/sys-img.xml
  Validate XML: https://dl.google.com/android/repository/sys-img/google_apis/sys-img.xml
  Parse XML:    https://dl.google.com/android/repository/sys-img/google_apis/sys-img.xml
  
  Packages available for installation or update: 41
   1- Android SDK Tools, revision 25.2.2
   2- Android SDK Platform-tools, revision 24.0.4
   3- Android SDK Build-tools, revision 24.0.3
   4- Documentation for Android SDK, API 24, revision 1
   5- SDK Platform Android 7.0, API 24, revision 2
   6- SDK Platform Android 6.0, API 23, revision 3

因为是首次安装,所有有非常多的版本可下载。 我们可以有2个选择:

  1. 安装所有版本的SDK

    $ ./android update sdk -u
    
  2. 只安装我们需要SDK版本

    只安装指定序号的版本
    $ ./android  update sdk -u -t 序号
    如:安装Build-tools, revision 24.0.3
    
    $ ./android update sdk -u -t 3
    需要同意license,输入 y 回车即可
    

因为是在服务器上,建议直接安装所有版本的吧,不然后续可能有些app需要这个版本,又有的需要那个版本。还不如一开始就全部安装好。

安装后可跳转到上一级目录查看是否已经有了。

$ cd ..
$ ls
add-ons  build-tools  platforms  SDK Readme.txt  temp  tools
$ cd build-tools
$ ls
24.0.3

可以看到安装成功了。

总结

通过这些我们也可以推测出其实那些IDE图形界面底层调用的也是这些命令吧

附加可能会使用到的linux指令

查看当前目录的实际路径
$pwd
全局搜索指定文件 包括文件夹和文件
$find . -name  "文件名"
不区分大小写查找
$find  -iname "*SaleContractFromDc*"
从/开始查找以.log结尾的文件
$find / -name "*.log" 
下载文件到指定路径 这将只有在路径存在时下载。下载将保留远程文件名。下载后,将返回原始位置
$cd target/path && { curl -O URL ; cd -; }
查看系统整体空间剩余情况
$df -h
查看每个文件夹的占用情况
$du -sh
删除非空目录
$rm -rf 目录
查看 或 编辑 环境变量的配置
$vim /etc/profile
或者直接使用
$export
配置环境变量
export ANDROID_SDK_HOME=/root/Android/sdk/android-sdk-linux
export PATH=$PATH:${ANDROID_SDK_HOME}/tools
export PATH=$PATH:${ANDROID_SDK_HOME}/platform-tools
移动文件夹下所有东西到zone中
$mv    /usr/lib/*    /zone