最近在阿里云上配置Android SDK的环境,发现最新的Android SDK命令已经改变了很多,这边就记录下这次的操作吧。
首先是下载Android SDK,找到官网,获取最新的SDK的地址。
最新的2018-01-22的版本地址为:
https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
这里我以配置Jenkins的工具为例示范,具体使用都是一样的。为了避免jenkins使用过程中的权限问题,我将Andorid SDK目录放在了jenkins项目中。
在jenkins目录中进入tools目录,没有的话就新建一个:
cd /var/lib/jenkins/tools
mkdir android
cd andorid
wget https://dl.google.com/android/repository/sdk-tools-linux-3859397.zip
unzip sdk-tools-linux-3859397.zip
这时候Android SDK就已经下载解压好了,下面配置环境变量。
echo '#Android sdk environment' >> /etc/profile
echo 'export ANDROID_HOME='/var/lib/jenkins/tools/android' >> /etc/profile
echo 'export PATH=$ANDROID_HOME/tools:$ANDROID_HOME/tools/bin:$ANDROID_HOME/platform-tools:$PATH' >> ~/.bashrc
source /etc/profile
环境变量已经配置完成,输入android看下是否成功了
jenkins@iZ25ckpu8szZ:/$ android
*************************************************************************
The "android" command is deprecated.
For manual SDK, AVD, and project management, please use Android Studio.
For command-line tools, use tools/bin/sdkmanager and tools/bin/avdmanager
*************************************************************************
Invalid or unsupported command ""
Supported commands are:
android list target
android list avd
android list device
android create avd
android move avd
android delete avd
android list sdk
android update sdk
出现这个界面就算配置完成了。刚解压配置完的SDK是只有tools基础工具的,里面还没有android各个版本sdk,下面通过命令行下载吧。新版本的sdk更新都是通过sdkmanager来更新的,先拉去所有sdk列表:
jenkins@iZ25ckpu8szZ:/var/lib/jenkins/tools/android/tools# sdkmanager --list
Warning: File /root/.android/repositories.cfg could not be loaded.
Installed packages:
| Path | Version | Description | Location |
|:---------------------|:--------|:---------------------------|:----------------------|
| patcher;v4 | 1 | SDK Patch Applier v4 | patcher/v4/ |
| platform-tools | 27.0.1 | Android SDK Platform-Tools | platform-tools/ |
| platforms;android-27 | 1 | Android SDK Platform 27 | platforms/android-27/ |
| tools | 26.0.1 | Android SDK Tools 26.0.1 | tools/ |
Available Packages:
| Path | Version | Description |
|:----------------------------------|:-------------|:----------------------------------|
| add-ons;addon-g..._apis-google-15 | 3 | Google APIs |
| add-ons;addon-g..._apis-google-16 | 4 | Google APIs |
| add-ons;addon-g..._apis-google-17 | 4 | Google APIs |
| add-ons;addon-g..._apis-google-18 | 4 | Google APIs |
| add-ons;addon-g..._apis-google-19 | 20 | Google APIs |
| add-ons;addon-g..._apis-google-21 | 1 | Google APIs |
| add-ons;addon-g..._apis-google-22 | 1 | Google APIs |
| add-ons;addon-g..._apis-google-23 | 1 | Google APIs |
| add-ons;addon-g..._apis-google-24 | 1 | Google APIs |
| add-ons;addon-g...e_gdk-google-19 | 11 | Glass Development Kit Preview |
| build-tools;19.1.0 | 19.1.0 | Android SDK Build-Tools 19.1 |
| build-tools;20.0.0 | 20.0.0 | Android SDK Build-Tools 20 |
| build-tools;21.1.2 | 21.1.2 | Android SDK Build-Tools 21.1.2 |
| build-tools;22.0.1 | 22.0.1 | Android SDK Build-Tools 22.0.1 |
| build-tools;23.0.1 | 23.0.1 | Android SDK Build-Tools 23.0.1 |
| build-tools;23.0.2 | 23.0.2 | Android SDK Build-Tools 23.0.2 |
| build-tools;23.0.3 | 23.0.3 | Android SDK Build-Tools 23.0.3 |
| build-tools;24.0.0 | 24.0.0 | Android SDK Build-Tools 24 |
| build-tools;24.0.1 | 24.0.1 | Android SDK Build-Tools 24.0.1 |
| build-tools;24.0.2 | 24.0.2 | Android SDK Build-Tools 24.0.2 |
| build-tools;24.0.3 | 24.0.3 | Android SDK Build-Tools 24.0.3 |
| build-tools;25.0.0 | 25.0.0 | Android SDK Build-Tools 25 |
| build-tools;25.0.1 | 25.0.1 | Android SDK Build-Tools 25.0.1 |
| build-tools;25.0.2 | 25.0.2 | Android SDK Build-Tools 25.0.2 |
| build-tools;25.0.3 | 25.0.3 | Android SDK Build-Tools 25.0.3 |
| build-tools;26.0.0 | 26.0.0 | Android SDK Build-Tools 26 |
| build-tools;26.0.1 | 26.0.1 | Android SDK Build-Tools 26.0.1 |
| build-tools;26.0.2 | 26.0.2 | Android SDK Build-Tools 26.0.2 |
| build-tools;26.0.3 | 26.0.3 | Android SDK Build-Tools 26.0.3 |
| build-tools;27.0.0 | 27.0.0 | Android SDK Build-Tools 27 |
| build-tools;27.0.1 | 27.0.1 | Android SDK Build-Tools 27.0.1 |
| build-tools;27.0.2 | 27.0.2 | Android SDK Build-Tools 27.0.2 |
| build-tools;27.0.3 | 27.0.3 | Android SDK Build-Tools 27.0.3 |
| cmake;3.6.4111459 | 3.6.4111459 | CMake 3.6.4111459 |
| docs | 1 | Documentation for Android SDK |
| emulator | 27.0.5 | Android Emulator |
| extras;android;gapid;1 | 1.0.3 | GPU Debugging tools |
| extras;android;gapid;3 | 3.1.0 | GPU Debugging tools |
| extras;android;m2repository | 47.0.0 | Android Support Repository |
| extras;google;auto | 1.1 | Android Auto Desktop Head Unit... |
| extras;google;g...e_play_services | 46 | Google Play services |
| extras;google;instantapps | 1.1.0 | Instant Apps Development SDK |
| extras;google;m2repository | 58 | Google Repository |
| extras;google;m...t_apk_expansion | 1 | Google Play APK Expansion library |
| extras;google;market_licensing | 1 | Google Play Licensing Library |
| extras;google;simulators | 1 | Android Auto API Simulators |
| extras;google;webdriver | 2 | Google Web Driver |
| extras;m2reposi...ut-solver;1.0.0 | 1 | Solver for ConstraintLayout 1.0.0 |
| extras;m2reposi...er;1.0.0-alpha2 | 1 | com.android.support.constraint... |
| extras;m2reposi...er;1.0.0-alpha3 | 1 | com.android.support.constraint... |
| extras;m2reposi...er;1.0.0-alpha4 | 1 | com.android.support.constraint... |
| extras;m2reposi...er;1.0.0-alpha5 | 1 | Solver for ConstraintLayout 1.... |
| extras;m2reposi...er;1.0.0-alpha6 | 1 | Solver for ConstraintLayout 1.... |
| extras;m2reposi...er;1.0.0-alpha7 | 1 | Solver for ConstraintLayout 1.... |
| extras;m2reposi...er;1.0.0-alpha8 | 1 | Solver for ConstraintLayout 1.... |
| extras;m2reposi...er;1.0.0-alpha9 | 1 | Solver for ConstraintLayout 1.... |
| extras;m2reposi...ver;1.0.0-beta1 | 1 | Solver for ConstraintLayout 1.... |
| extras;m2reposi...ver;1.0.0-beta2 | 1 | Solver for ConstraintLayout 1.... |
| extras;m2reposi...ver;1.0.0-beta3 | 1 | Solver for ConstraintLayout 1.... |
| extras;m2reposi...ver;1.0.0-beta4 | 1 | Solver for ConstraintLayout 1.... |
| extras;m2reposi...ver;1.0.0-beta5 | 1 | Solver for ConstraintLayout 1.... |
| extras;m2reposi...ut-solver;1.0.1 | 1 | Solver for ConstraintLayout 1.0.1 |
| extras;m2reposi...ut-solver;1.0.2 | 1 | Solver for ConstraintLayout 1.0.2 |
| extras;m2reposi...nt-layout;1.0.0 | 1 | ConstraintLayout for Android 1... |
| extras;m2reposi...ut;1.0.0-alpha2 | 1 | com.android.support.constraint... |
| extras;m2reposi...ut;1.0.0-alpha3 | 1 | com.android.support.constraint... |
| extras;m2reposi...ut;1.0.0-alpha4 | 1 | com.android.support.constraint... |
| extras;m2reposi...ut;1.0.0-alpha5 | 1 | ConstraintLayout for Android 1... |
| extras;m2reposi...ut;1.0.0-alpha6 | 1 | ConstraintLayout for Android 1... |
| extras;m2reposi...ut;1.0.0-alpha7 | 1 | ConstraintLayout for Android 1... |
| extras;m2reposi...ut;1.0.0-alpha8 | 1 | ConstraintLayout for Android 1... |
| extras;m2reposi...ut;1.0.0-alpha9 | 1 | ConstraintLayout for Android 1... |
| extras;m2reposi...out;1.0.0-beta1 | 1 | ConstraintLayout for Android 1... |
| extras;m2reposi...out;1.0.0-beta2 | 1 | ConstraintLayout for Android 1... |
| extras;m2reposi...out;1.0.0-beta3 | 1 | ConstraintLayout for Android 1... |
| extras;m2reposi...out;1.0.0-beta4 | 1 | ConstraintLayout for Android 1... |
| extras;m2reposi...out;1.0.0-beta5 | 1 | ConstraintLayout for Android 1... |
| extras;m2reposi...nt-layout;1.0.1 | 1 | ConstraintLayout for Android 1... |
| extras;m2reposi...nt-layout;1.0.2 | 1 | ConstraintLayout for Android 1... |
| lldb;2.0 | 2.0.2558144 | LLDB 2.0 |
| lldb;2.1 | 2.1.2852477 | LLDB 2.1 |
| lldb;2.2 | 2.2.3271982 | LLDB 2.2 |
| lldb;2.3 | 2.3.3614996 | LLDB 2.3 |
| lldb;3.0 | 3.0.4213617 | LLDB 3.0 |
| ndk-bundle | 16.1.4479499 | NDK |
| patcher;v4 | 1 | SDK Patch Applier v4 |
| platform-tools | 27.0.1 | Android SDK Platform-Tools |
| platforms;android-10 | 2 | Android SDK Platform 10 |
| platforms;android-11 | 2 | Android SDK Platform 11 |
| platforms;android-12 | 3 | Android SDK Platform 12 |
| platforms;android-13 | 1 | Android SDK Platform 13 |
| platforms;android-14 | 4 | Android SDK Platform 14 |
| platforms;android-15 | 5 | Android SDK Platform 15 |
| platforms;android-16 | 5 | Android SDK Platform 16 |
| platforms;android-17 | 3 | Android SDK Platform 17 |
| platforms;android-18 | 3 | Android SDK Platform 18 |
| platforms;android-19 | 4 | Android SDK Platform 19 |
| platforms;android-20 | 2 | Android SDK Platform 20 |
| platforms;android-21 | 2 | Android SDK Platform 21 |
| platforms;android-22 | 2 | Android SDK Platform 22 |
| platforms;android-23 | 3 | Android SDK Platform 23 |
| platforms;android-24 | 2 | Android SDK Platform 24 |
| platforms;android-25 | 3 | Android SDK Platform 25 |
| platforms;android-26 | 2 | Android SDK Platform 26 |
| platforms;android-27 | 1 | Android SDK Platform 27 |
| platforms;android-7 | 3 | Android SDK Platform 7 |
| platforms;android-8 | 3 | Android SDK Platform 8 |
| platforms;android-9 | 2 | Android SDK Platform 9 |
| sources;android-15 | 2 | Sources for Android 15 |
| sources;android-16 | 2 | Sources for Android 16 |
| sources;android-17 | 1 | Sources for Android 17 |
| sources;android-18 | 1 | Sources for Android 18 |
| sources;android-19 | 2 | Sources for Android 19 |
| sources;android-20 | 1 | Sources for Android 20 |
| sources;android-21 | 1 | Sources for Android 21 |
| sources;android-22 | 1 | Sources for Android 22 |
| sources;android-23 | 1 | Sources for Android 23 |
| sources;android-24 | 1 | Sources for Android 24 |
| sources;android-25 | 1 | Sources for Android 25 |
| sources;android-26 | 1 | Sources for Android 26 |
| sources;android-27 | 1 | Sources for Android 27 |
| system-images;a...ult;armeabi-v7a | 4 | ARM EABI v7a System Image |
| system-images;a...-10;default;x86 | 4 | Intel x86 Atom System Image |
| system-images;a...pis;armeabi-v7a | 5 | Google APIs ARM EABI v7a Syste... |
| system-images;a...google_apis;x86 | 5 | Google APIs Intel x86 Atom Sys... |
| system-images;a...ult;armeabi-v7a | 2 | ARM EABI v7a System Image |
| system-images;a...ult;armeabi-v7a | 4 | ARM EABI v7a System Image |
| system-images;a...15;default;mips | 1 | MIPS System Image |
| system-images;a...-15;default;x86 | 4 | Intel x86 Atom System Image |
| system-images;a...pis;armeabi-v7a | 5 | Google APIs ARM EABI v7a Syste... |
| system-images;a...google_apis;x86 | 5 | Google APIs Intel x86 Atom Sys... |
| system-images;a...ult;armeabi-v7a | 4 | ARM EABI v7a System Image |
| system-images;a...16;default;mips | 1 | MIPS System Image |
| system-images;a...-16;default;x86 | 5 | Intel x86 Atom System Image |
| system-images;a...google_apis;x86 | 5 | Google APIs Intel x86 Atom Sys... |
| system-images;a...ult;armeabi-v7a | 5 | ARM EABI v7a System Image |
| system-images;a...17;default;mips | 1 | MIPS System Image |
| system-images;a...-17;default;x86 | 3 | Intel x86 Atom System Image |
| system-images;a...pis;armeabi-v7a | 5 | Google APIs ARM EABI v7a Syste... |
| system-images;a...google_apis;x86 | 5 | Google APIs Intel x86 Atom Sys... |
| system-images;a...ult;armeabi-v7a | 4 | ARM EABI v7a System Image |
| system-images;a...-18;default;x86 | 3 | Intel x86 Atom System Image |
| system-images;a...pis;armeabi-v7a | 5 | Google APIs ARM EABI v7a Syste... |
| system-images;a...google_apis;x86 | 5 | Google APIs Intel x86 Atom Sys... |
| system-images;a...ult;armeabi-v7a | 5 | ARM EABI v7a System Image |
| system-images;a...-19;default;x86 | 6 | Intel x86 Atom System Image |
| system-images;a...pis;armeabi-v7a | 33 | Google APIs ARM EABI v7a Syste... |
| system-images;a...google_apis;x86 | 33 | Google APIs Intel x86 Atom Sys... |
| system-images;a...-tv;armeabi-v7a | 3 | Android TV ARM EABI v7a System... |
| system-images;a...;android-tv;x86 | 3 | Android TV Intel x86 Atom Syst... |
| system-images;a...ult;armeabi-v7a | 4 | ARM EABI v7a System Image |
| system-images;a...-21;default;x86 | 5 | Intel x86 Atom System Image |
| system-images;a...;default;x86_64 | 5 | Intel x86 Atom_64 System Image |
| system-images;a...pis;armeabi-v7a | 25 | Google APIs ARM EABI v7a Syste... |
| system-images;a...google_apis;x86 | 25 | Google APIs Intel x86 Atom Sys... |
| system-images;a...gle_apis;x86_64 | 25 | Google APIs Intel x86 Atom_64 ... |
| system-images;a...-tv;armeabi-v7a | 1 | Android TV ARM EABI v7a System... |
| system-images;a...;android-tv;x86 | 3 | Android TV Intel x86 Atom Syst... |
| system-images;a...ult;armeabi-v7a | 2 | ARM EABI v7a System Image |
| system-images;a...-22;default;x86 | 6 | Intel x86 Atom System Image |
| system-images;a...;default;x86_64 | 6 | Intel x86 Atom_64 System Image |
| system-images;a...pis;armeabi-v7a | 19 | Google APIs ARM EABI v7a Syste... |
| system-images;a...google_apis;x86 | 19 | Google APIs Intel x86 Atom Sys... |
| system-images;a...gle_apis;x86_64 | 19 | Google APIs Intel x86 Atom_64 ... |
| system-images;a...-tv;armeabi-v7a | 12 | Android TV ARM EABI v7a System... |
| system-images;a...;android-tv;x86 | 14 | Android TV Intel x86 Atom Syst... |
| system-images;a...ear;armeabi-v7a | 6 | Android Wear ARM EABI v7a Syst... |
| system-images;a...ndroid-wear;x86 | 6 | Android Wear Intel x86 Atom Sy... |
| system-images;a...-23;default;x86 | 10 | Intel x86 Atom System Image |
| system-images;a...;default;x86_64 | 10 | Intel x86 Atom_64 System Image |
| system-images;a...pis;armeabi-v7a | 26 | Google APIs ARM EABI v7a Syste... |
| system-images;a...google_apis;x86 | 26 | Google APIs Intel x86 Atom Sys... |
| system-images;a...gle_apis;x86_64 | 26 | Google APIs Intel x86 Atom_64 ... |
| system-images;a...;android-tv;x86 | 15 | Android TV Intel x86 Atom Syst... |
| system-images;a...fault;arm64-v8a | 7 | ARM 64 v8a System Image |
| system-images;a...ult;armeabi-v7a | 7 | ARM EABI v7a System Image |
| system-images;a...-24;default;x86 | 8 | Intel x86 Atom System Image |
| system-images;a...;default;x86_64 | 8 | Intel x86 Atom_64 System Image |
| system-images;a..._apis;arm64-v8a | 20 | Google APIs ARM 64 v8a System ... |
| system-images;a...pis;armeabi-v7a | 20 | Google APIs ARM EABI v7a Syste... |
| system-images;a...google_apis;x86 | 20 | Google APIs Intel x86 Atom Sys... |
| system-images;a...gle_apis;x86_64 | 20 | Google APIs Intel x86 Atom_64 ... |
| system-images;a...s_playstore;x86 | 19 | Google Play Intel x86 Atom Sys... |
| system-images;a...;android-tv;x86 | 9 | Android TV Intel x86 Atom Syst... |
| system-images;a...-cn;armeabi-v7a | 4 | China version of Android Wear ... |
| system-images;a...oid-wear-cn;x86 | 4 | China version of Android Wear ... |
| system-images;a...ear;armeabi-v7a | 3 | Android Wear ARM EABI v7a Syst... |
| system-images;a...ndroid-wear;x86 | 3 | Android Wear Intel x86 Atom Sy... |
| system-images;a..._apis;arm64-v8a | 11 | Google APIs ARM 64 v8a System ... |
| system-images;a...pis;armeabi-v7a | 11 | Google APIs ARM EABI v7a Syste... |
| system-images;a...google_apis;x86 | 11 | Google APIs Intel x86 Atom Sys... |
| system-images;a...gle_apis;x86_64 | 11 | Google APIs Intel x86 Atom_64 ... |
| system-images;a...s_playstore;x86 | 9 | Google Play Intel x86 Atom Sys... |
| system-images;a...;android-tv;x86 | 7 | Android TV Intel x86 Atom Syst... |
| system-images;a...oid-wear-cn;x86 | 3 | China version of Android Wear ... |
| system-images;a...ndroid-wear;x86 | 2 | Android Wear Intel x86 Atom Sy... |
| system-images;a...google_apis;x86 | 8 | Google APIs Intel x86 Atom Sys... |
| system-images;a...gle_apis;x86_64 | 8 | Google APIs Intel x86 Atom_64 ... |
| system-images;a...s_playstore;x86 | 7 | Google Play Intel x86 Atom Sys... |
| system-images;a...;android-tv;x86 | 2 | Android TV Intel x86 Atom Syst... |
| system-images;a...google_apis;x86 | 2 | Google APIs Intel x86 Atom Sys... |
| system-images;a...s_playstore;x86 | 2 | Google Play Intel x86 Atom Sys... |
| tools | 26.1.1 | Android SDK Tools |
Available Updates:
| ID | Installed | Available |
|:------|:----------|:----------|
| tools | 26.0.1 | 26.1.1 |
done
sdkmanager下载和更新我们需要的sdk,指令如下:
sdkmanager "packages"
packages就是上面通过list指令列出的sdk名称。
执行下载我们需要的sdk工具:
sdkmanager "ndk-bundle" "build-tools;27.0.3" "platforms;android-24" "platforms;android-25" "platforms;android-26"
至此,在Aliyun上配置Android SDK就完成了,可以结合Jenkins一起使用了。
版权声明:本文为toigkiss原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。