当前位置:   article > 正文

使用docker制作Android镜像(实操可用)_docker android

docker android

一、安装包准备

1、准备jdk

下载地址:Java Downloads | Oracle

注意版本!!!!!! 参考下面的 对照表,不然后面构建镜像报错,就是版本不对。

我就是因为下载的jdk17,下载的安卓demo项目只需要jdk8就行,打包apk一直失败,整神了0.0

2、准备安装的工具包

ttps://developer.android.google.cn/studio/ 这里下载安卓工具,后面的版本参考

下载地址的生成规则:https://dl.google.com/android/repository/文件名

文件名就是:commandlinetools-mac-11479570_latest.zip(根据自己的环境选择对应的

我是采用的在dockerfile直接下载的方式

cmdline-tools 版本    最低 JDK    Mac    Linux    Windows
13.0(latest)    17    commandlinetools-mac-11479570_latest.zip    commandlinetools-linux-11479570_latest.zip    commandlinetools-win-11479570_latest.zip
12.0    17    commandlinetools-mac-11076708_latest.zip    commandlinetools-linux-11076708_latest.zip    commandlinetools-win-11076708_latest.zip
11.0    17    commandlinetools-mac-10406996_latest.zip    commandlinetools-linux-10406996_latest.zip    commandlinetools-win-10406996_latest.zip
10.0    11    commandlinetools-mac-9862592_latest.zip    commandlinetools-linux-9862592_latest.zip    commandlinetools-win-9862592_latest.zip
9.0    11    commandlinetools-mac-9477386_latest.zip    commandlinetools-linux-9477386_latest.zip    commandlinetools-win-9477386_latest.zip
8.0    8    commandlinetools-mac-9123335_latest.zip    commandlinetools-linux-9123335_latest.zip    commandlinetools-win-9123335_latest.zip

二、制作镜像

1、下载jdk版本的压缩包,传到Linux上面,编写dockerfile

1)使用curl拉取远程的安卓包

  1. FROM ***********/base/ubuntu-base:python3.10
  2. #RUN pip config set global.index-url http://mirrors.cloud.tencent.com/pypi/simple
  3. #RUN pip config set global.trusted-host mirrors.cloud.tencent.com
  4. WORKDIR /home/work
  5. ADD ./*.py /home/work
  6. # 拷贝JDK安装包到容器中
  7. # 安装jdk
  8. ADD jdk-17_linux-x64_bin.tar.gz /usr/app/java
  9. RUN mkdir -p /usr/app/java
  10. #设置JAVA_HOME的环境变量
  11. ENV JAVA_HOME=/usr/app/java/jdk-17.0.10
  12. ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  13. ENV PATH=$JAVA_HOME/bin:$PATH
  14. #容器启动时需要执行的命令
  15. CMD java -version
  16. RUN mkdir -p /usr/local/androidSdk
  17. # 设置变量
  18. ENV ANDROID_HOME="/usr/local/androidSdk" \
  19. SDK_TOOL_URL="https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip"
  20. RUN echo "Y" | apt install unzip
  21. RUN apt update
  22. RUN echo "Y" | apt install curl
  23. # 创建android sdk目录,并下载 sdkmanager
  24. RUN cd $ANDROID_HOME \
  25. && curl -o sdk.zip $SDK_TOOL_URL \
  26. && unzip sdk.zip \
  27. && rm sdk.zip
  28. # 解压完之后在cmdline-tools路径下创建latest文件夹
  29. RUN mkdir -p ${ANDROID_HOME}/sdk/cmdline-tools/latest
  30. RUN cp -r ${ANDROID_HOME}/cmdline-tools/* ${ANDROID_HOME}/sdk/cmdline-tools/latest
  31. # 安装android sdk其他package, 输入y是因为此处会有一个licence,需要用户同意后才会安装
  32. RUN echo "Y" | ${ANDROID_HOME}/sdk/cmdline-tools/latest/bin/sdkmanager "platform-tools" "platforms;android-28" "build-tools;28.0.3"
  33. # 设置环境变量: 把 android sdk 路径加入到 PATH 中
  34. ENV PATH ${ANDROID_HOME}/sdk/cmdline-tools:${ANDROID_HOME}/sdk/cmdline-tools/latest/bin:${ANDROID_HOME}/platform-tools:${PATH}
  35. RUN apt update
  36. RUN pip install oss2
  37. RUN apt clean

2)上传安卓的工具包,解压使用,使用shell脚本

  1. # 使用官方的Ubuntu镜像作为基础镜像
  2. FROM ubuntu:latest
  3. WORKDIR /home/work
  4. # 拷贝JDK安装包到容器中
  5. # 安装jdk
  6. ADD jdk-17_linux-x64_bin.tar.gz /usr/app/java
  7. RUN mkdir -p /usr/app/java
  8. #设置JAVA_HOME的环境变量
  9. ENV JAVA_HOME=/usr/app/java/jdk-17.0.10
  10. ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  11. ENV PATH=$JAVA_HOME/bin:$PATH
  12. RUN apt update
  13. RUN echo "Y" | apt install unzip
  14. # 设置变量 /opt/app/android-sdk/sdk/cmdline-tools
  15. ENV ANDROID_DIR=/opt/app/android-sdk
  16. RUN mkdir -p $ANDROID_DIR
  17. # 创建android sdk目录,并下载 sdkmanager
  18. COPY commandlinetools-linux-11076708_latest.zip $ANDROID_DIR
  19. RUN cd $ANDROID_DIR && unzip commandlinetools-linux-11076708_latest.zip -d $ANDROID_DIR
  20. # 解压完之后在cmdline-tools路径下创建latest文件夹
  21. RUN mkdir -p $ANDROID_DIR/sdk/cmdline-tools/latest
  22. #/opt/app/android-sdk/sdk/cmdline-tools
  23. RUN cp -r $ANDROID_DIR/cmdline-tools/* $ANDROID_DIR/sdk/cmdline-tools/latest
  24. RUN rm -rf $ANDROID_DIR/cmdline-tools
  25. # 设置环境变量: 把 android sdk 路径加入到 PATH 中
  26. ENV ANDROID_HOME=$ANDROID_DIR/sdk/cmdline-tools/latest
  27. ENV PATH=$ANDROID_HOME/bin:$PATH
  28. ENV PATH ${ANDROID_DIR}/sdk/cmdline-tools:${ANDROID_HOME}/platform-tools:${PATH}
  29. # 安装android sdk其他package, 输入y是因为此处会有一个licence,需要用户同意后才会安装
  30. # /opt/app/android-sdk/sdk/cmdline-tools/latest/bin/sdkmanager "platforms;android-28"
  31. # /opt/app/android-sdk/sdk/cmdline-tools/latest/bin/sdkmanager "platforms;android-27"
  32. # /opt/app/android-sdk/sdk/cmdline-tools/latest/bin/sdkmanager "build-tools;28.0.3"
  33. # /opt/app/android-sdk/sdk/cmdline-tools/latest/bin/sdkmanager "build-tools;27.0.3"
  34. #RUN "y" | $ANDROID_HOME/bin/sdkmanager "platforms;android-28"
  35. #RUN "y" | $ANDROID_HOME/bin/sdkmanager "platforms;android-27"
  36. #RUN "y" | $ANDROID_HOME/bin/sdkmanager "build-tools;28.0.3"
  37. #RUN "y" | $ANDROID_HOME/bin/sdkmanager "build-tools;27.0.3"
  38. #复制脚本到容器内部
  39. COPY script.sh $ANDROID_HOME/script.sh
  40. #赋予脚本执行权限
  41. RUN chmod +x $ANDROID_HOME/script.sh
  42. # 执行shell脚本
  43. RUN $ANDROID_HOME/script.sh

3、不使用脚本

  1. # 使用官方的Ubuntu镜像作为基础镜像
  2. FROM ubuntu:latest
  3. WORKDIR /home/work
  4. # 拷贝JDK安装包到容器中
  5. # 安装jdk
  6. ADD jdk-17_linux-x64_bin.tar.gz /usr/app/java
  7. RUN mkdir -p /usr/app/java
  8. #设置JAVA_HOME的环境变量
  9. ENV JAVA_HOME=/usr/app/java/jdk-17.0.10
  10. ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  11. ENV PATH=$JAVA_HOME/bin:$PATH
  12. RUN apt update
  13. RUN echo "Y" | apt install unzip
  14. # 将当前项目 Android Project 复制到容器----------------------------------------
  15. COPY android_hello_world-master.zip /home/work
  16. RUN cd /home/work && unzip android_hello_world-master.zip -d /home/work
  17. #-----------------------------上面的Android roject是用来验证容器镜像的,可以忽略
  18. # 设置变量 /opt/app/android-sdk/sdk/cmdline-tools
  19. ENV ANDROID_DIR=/opt/app/android-sdk
  20. RUN mkdir -p $ANDROID_DIR
  21. # 创建android sdk目录,并下载 sdkmanager
  22. COPY commandlinetools-linux-11076708_latest.zip $ANDROID_DIR
  23. RUN cd $ANDROID_DIR && unzip commandlinetools-linux-11076708_latest.zip -d $ANDROID_DIR
  24. # 解压完之后在cmdline-tools路径下创建latest文件夹
  25. RUN mkdir -p $ANDROID_DIR/sdk/cmdline-tools/latest
  26. #/opt/app/android-sdk/sdk/cmdline-tools
  27. RUN cp -r $ANDROID_DIR/cmdline-tools/* $ANDROID_DIR/sdk/cmdline-tools/latest
  28. RUN rm -rf $ANDROID_DIR/cmdline-tools
  29. # 设置环境变量: 把 android sdk 路径加入到 PATH 中
  30. ENV ANDROID_HOME=$ANDROID_DIR/sdk/cmdline-tools/latest
  31. ENV PATH=$ANDROID_HOME/bin:$PATH
  32. ENV PATH ${ANDROID_DIR}/sdk/cmdline-tools:${ANDROID_HOME}/platform-tools:${PATH}
  33. # 安装android sdk其他package, 输入y是因为此处会有一个licence,需要用户同意后才会安装
  34. # /opt/app/android-sdk/sdk/cmdline-tools/latest/bin/sdkmanager "platforms;android-28"
  35. # /opt/app/android-sdk/sdk/cmdline-tools/latest/bin/sdkmanager "platforms;android-27"
  36. # /opt/app/android-sdk/sdk/cmdline-tools/latest/bin/sdkmanager "build-tools;28.0.3"
  37. # /opt/app/android-sdk/sdk/cmdline-tools/latest/bin/sdkmanager "build-tools;27.0.3"
  38. RUN echo 'y' | /opt/app/android-sdk/sdk/cmdline-tools/latest/bin/sdkmanager 'platforms;android-28'
  39. RUN echo 'y' | /opt/app/android-sdk/sdk/cmdline-tools/latest/bin/sdkmanager 'platforms;android-27'
  40. RUN echo 'y' | /opt/app/android-sdk/sdk/cmdline-tools/latest/bin/sdkmanager 'build-tools;28.0.3'
  41. RUN echo 'y' | /opt/app/android-sdk/sdk/cmdline-tools/latest/bin/sdkmanager 'build-tools;27.0.3'
  42. # 上面两种方式都未安装成功,采用下面脚本的方式成功了
  43. #复制脚本到容器内部
  44. #COPY script.sh $ANDROID_HOME/script.sh
  45. #赋予脚本执行权限
  46. #RUN chmod +x $ANDROID_HOME/script.sh
  47. # 执行shell脚本
  48. #RUN $ANDROID_HOME/script.sh

  注意这里的基础镜像你们根据你们的实际 情况修改,改成Ubuntu的镜像即可。

2、构建镜像

docker build -t  /jenkins/android-package:0.0.1 .

3、push镜像

 docker push /jenkins/android-package:0.0.1

三、遇到的问题

1、jdk和Android的版本问题,参考上面的即可

2、 Either specify it explicitly with --sdk_root= or move this package into its expected location: <sdk>/cmdline-tools/latest/

解决方案:修改路径,将文件放到latest的文件夹下,具体操作如图。

3、安装好镜像未报错,进去容器验证发现未安装成功。

ls -al /opt/app/android-sdk/sdk/platforms

ls -al  /opt/app/android-sdk/sdk/build-tools

解决方案:创建sh脚本,放入镜像中,然后执行即可。

链接: https://pan.baidu.com/s/10rm4eYBWsLt7_iFBrnHhlw 提取码: a19z

再次build:docker build -t android-package:v1.0 .    

进入容器查看,文件已拉取下来。



4、验证打包apk时,jdk找不到

四、使用镜像打包安卓项目apk

1、进入容器,然后创建local.properties文件并指定android sdk路径

进入EmptyProject文件夹,输入如下命令

touch local.properties

echo "sdk.dir=/opt/app/android-sdk/sdk" > local.properties

./gradlew assembleRelease

最后下载很慢gradle:

仓库服务

改这个地方,速度起飞!

又报错了,看提示是安装的tools少了,修改dockerfile文件

  1. # 使用官方的Ubuntu镜像作为基础镜像
  2. FROM ubuntu:latest
  3. WORKDIR /home/work
  4. # 拷贝JDK安装包到容器中
  5. # 安装jdk
  6. ADD jdk-17_linux-x64_bin.tar.gz /usr/app/java
  7. RUN mkdir -p /usr/app/java
  8. #设置JAVA_HOME的环境变量
  9. ENV JAVA_HOME=/usr/app/java/jdk-17.0.10
  10. ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  11. ENV PATH=$JAVA_HOME/bin:$PATH
  12. RUN apt update
  13. RUN echo "Y" | apt install unzip
  14. # 将当前项目 Android Project 复制到容器----------------------------------------
  15. COPY android_hello_world-master.zip /home/work
  16. RUN cd /home/work && unzip android_hello_world-master.zip -d /home/work
  17. #-----------------------------上面的Android roject是用来验证容器镜像的,可以忽略
  18. # 设置变量 /opt/app/android-sdk/sdk/cmdline-tools
  19. ENV ANDROID_DIR=/opt/app/android-sdk
  20. RUN mkdir -p $ANDROID_DIR
  21. # 创建android sdk目录,并下载 sdkmanager
  22. COPY commandlinetools-linux-11076708_latest.zip $ANDROID_DIR
  23. RUN cd $ANDROID_DIR && unzip commandlinetools-linux-11076708_latest.zip -d $ANDROID_DIR
  24. # 解压完之后在cmdline-tools路径下创建latest文件夹
  25. RUN mkdir -p $ANDROID_DIR/sdk/cmdline-tools/latest
  26. #/opt/app/android-sdk/sdk/cmdline-tools
  27. RUN cp -r $ANDROID_DIR/cmdline-tools/* $ANDROID_DIR/sdk/cmdline-tools/latest
  28. RUN rm -rf $ANDROID_DIR/cmdline-tools
  29. # 设置环境变量: 把 android sdk 路径加入到 PATH 中
  30. ENV ANDROID_HOME=$ANDROID_DIR/sdk/cmdline-tools/latest
  31. ENV PATH=$ANDROID_HOME/bin:$PATH
  32. ENV PATH ${ANDROID_DIR}/sdk/cmdline-tools:${ANDROID_HOME}/platform-tools:${PATH}
  33. # 安装android sdk其他package, 输入y是因为此处会有一个licence,需要用户同意后才会安装
  34. # /opt/app/android-sdk/sdk/cmdline-tools/latest/bin/sdkmanager "platforms;android-28"
  35. # /opt/app/android-sdk/sdk/cmdline-tools/latest/bin/sdkmanager "platforms;android-27"
  36. # /opt/app/android-sdk/sdk/cmdline-tools/latest/bin/sdkmanager "build-tools;28.0.3"
  37. # /opt/app/android-sdk/sdk/cmdline-tools/latest/bin/sdkmanager "build-tools;27.0.3"
  38. RUN echo 'y' | /opt/app/android-sdk/sdk/cmdline-tools/latest/bin/sdkmanager "build-tools;33.0.0" "build-tools;31.0.0" "build-tools;30.0.3" "build-tools;30.0.2" "build-tools;30.0.0" "build-tools;29.0.3" "build-tools;29.0.2" "build-tools;29.0.1" "build-tools;29.0.0" "build-tools;28.0.3" "build-tools;28.0.2" "build-tools;27.0.3"
  39. RUN echo 'y' | /opt/app/android-sdk/sdk/cmdline-tools/latest/bin/sdkmanager "platforms;android-21" "platforms;android-22" "platforms;android-23" "platforms;android-24" "platforms;android-25" "platforms;android-26" "platforms;android-27" "platforms;android-28" "platforms;android-29" "platforms;android-30" "platforms;android-31" "platforms;android-32" "platforms;android-33"
  40. # 上面两种方式都未安装成功,采用下面脚本的方式成功了
  41. #复制脚本到容器内部
  42. #COPY script.sh $ANDROID_HOME/script.sh
  43. #赋予脚本执行权限
  44. #RUN chmod +x $ANDROID_HOME/script.sh
  45. # 执行shell脚本
  46. #RUN $ANDROID_HOME/script.sh

等待命令执行完成(第一次会比较慢),最终apk地址app/build/outputs/apk/release/app-release.apk

至此我们完成了在docker上搭建了android打包编译环境,并成功编译出了apk文件。

如何将打包好的apk移动到宿主机

 docker cp  09e0f98b7399:/home/work/EmptyProject/app/build/outputs/apk/release /home/android

docker cp <containerId>:/path/to/file/in/container /path/to/destination/on/host

五、写在最后(千万要注意jdk和 gradle的版本,坑 ,巨坑 )

链接: https://pan.baidu.com/s/1Emjchg1xm-FbD6OAHrEeQg 提取码: dqa5

按照下面的版本对应即可打包成功!

git clone https://github.com/hellsam/EmptyProject.git

jdk版本1.8

  1. # 使用官方的Ubuntu镜像作为基础镜像
  2. FROM ubuntu:latest
  3. WORKDIR /home/work
  4. RUN apt update
  5. RUN echo "Y" | apt install unzip
  6. RUN apt update
  7. RUN echo "y" | apt install openjdk-8-jdk
  8. # 拷贝JDK安装包到容器中
  9. # 安装jdk
  10. #RUN mkdir -p /usr/app/java
  11. #COPY jdk-8u401-linux-x64.tar.gz /usr/app/java
  12. #RUN tar -czvf jdk-8u401-linux-x64.tar.gz /usr/app/java
  13. #设置JAVA_HOME的环境变量
  14. #ENV JAVA_HOME=/usr/app/java/jdk1.8.0_401
  15. #ENV CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
  16. #ENV PATH=$JAVA_HOME/bin:$PATH
  17. # 将当前项目 Android Project 复制到容器----------------------------------------
  18. COPY EmptyProject.zip /home/work
  19. RUN cd /home/work && unzip EmptyProject.zip -d /home/work
  20. #-----------------------------上面的Android roject是用来验证容器镜像的,可以忽略
  21. # 设置变量 /opt/app/android-sdk/sdk/cmdline-tools
  22. ENV ANDROID_DIR=/opt/app/android-sdk
  23. RUN mkdir -p $ANDROID_DIR
  24. # 创建android sdk目录,并下载 sdkmanager
  25. COPY sdk-tools-linux-4333796.zip $ANDROID_DIR
  26. RUN cd $ANDROID_DIR && unzip sdk-tools-linux-4333796.zip -d $ANDROID_DIR
  27. # 解压完之后在cmdline-tools路径下创建latest文件夹
  28. RUN mkdir -p $ANDROID_DIR/sdk/tools/latest
  29. #/opt/app/android-sdk/sdk/cmdline-tools
  30. RUN cp -r $ANDROID_DIR/tools/* $ANDROID_DIR/sdk/tools/latest
  31. RUN rm -rf $ANDROID_DIR/tools
  32. # 设置环境变量: 把 android sdk 路径加入到 PATH 中
  33. ENV ANDROID_HOME=$ANDROID_DIR/sdk/tools
  34. ENV PATH=$ANDROID_HOME/bin:$PATH
  35. ENV PATH ${ANDROID_HOME}:${ANDROID_HOME}/platform-tools:${PATH}
  36. # 安装android sdk其他package, 输入y是因为此处会有一个licence,需要用户同意后才会安装
  37. # /opt/app/android-sdk/sdk/cmdline-tools/latest/bin/sdkmanager "platforms;android-28"
  38. # /opt/app/android-sdk/sdk/cmdline-tools/latest/bin/sdkmanager "platforms;android-27"
  39. # /opt/app/android-sdk/sdk/cmdline-tools/latest/bin/sdkmanager "build-tools;28.0.3"
  40. # /opt/app/android-sdk/sdk/cmdline-tools/latest/bin/sdkmanager "build-tools;27.0.3"
  41. #RUN echo 'y' | /opt/app/android-sdk/sdk/cmdline-tools/latest/bin/sdkmanager "build-tools;33.0.0" "build-tools;31.0.0" "build-tools;30.0.3" "build-tools;30.0.2" "build-tools;30.0.0" "build-tools;29.0.3" "build-tools;29.0.2" "build-tools;29.0.1" "build-tools;29.0.0" "build-tools;28.0.3" "build-tools;28.0.2" "build-tools;27.0.3"
  42. #RUN echo 'y' | /opt/app/android-sdk/sdk/cmdline-tools/latest/bin/sdkmanager "platforms;android-21" "platforms;android-22" "platforms;android-23" "platforms;android-24" "platforms;android-25" "platforms;android-26" "platforms;android-27" "platforms;android-28" "platforms;android-29" "platforms;android-30" "platforms;android-31" "platforms;android-32" "platforms;android-33"
  43. RUN echo 'y' | /opt/app/android-sdk/sdk/tools/latest/bin/sdkmanager "platforms;android-28" "platforms;android-27"
  44. RUN echo 'y' | /opt/app/android-sdk/sdk/tools/latest/bin/sdkmanager "build-tools;28.0.3" "build-tools;27.0.3"
  45. # 上面两种方式都未安装成功,采用下面脚本的方式成功了
  46. #复制脚本到容器内部
  47. #COPY script.sh $ANDROID_HOME/script.sh
  48. #赋予脚本执行权限
  49. #RUN chmod +x $ANDROID_HOME/script.sh
  50. # 执行shell脚本
  51. #RUN $ANDROID_HOME/script.sh

 跟着图中的命令执行,最后等待打包apk即可。

注意 :代码里面的 这个地址需要换成镜像 地址,不然下载贼慢!

distributionUrl=https\://mirrors.cloud.tencent.com/gradle/gradle-4.4-all.zip

六、参考文献

docker+jenkins+android环境搭建(使用dockerfile) - 掘金

在docker搭建android编译打包环境实践 - 简书

Android cmdline-tools 版本与其最小JDK关系_java11对应的android sdk tools-linux版本是多少-CSDN博客

Linux 环境下 搭建Android SDK 和Android NDK-腾讯云开发者社区-腾讯云

zsh: command not found解决方式 - 简书

Index of /gradle/

在 Linux 系统上下载 Android SDK_linux中androidsdk环境变量配置-CSDN博客

附:安卓版本表
使用sdkmanager --list命令显示所有已经安装的和未安装的packages,如下:

Installed packages:

Path    Version    Description    Location
build-tools;24.0.3    24.0.3    Android SDK Build-Tools 24.0.3    build-tools/24.0.3/
build-tools;25.0.3    25.0.3    Android SDK Build-Tools 25.0.3    build-tools/25.0.3/
emulator    26.1.3    Android Emulator    emulator/
extras;android;m2repository    47.0.0    Android Support Repository    extras/android/m2repository/
extras;google;m2repository    57    Google Repository    extras/google/m2repository/
extras;m2reposi…ut-solver;1.0.2    1    Solver for ConstraintLayout 1.0.2    extras/m2reposi…t-solver/1.0.2/
extras;m2reposi…nt-layout;1.0.2    1    ConstraintLayout for Android 1…    extras/m2reposi…t-layout/1.0.2/
patcher;v4    1    SDK Patch Applier v4    patcher/v4/
platform-tools    26.0.0    Android SDK Platform-Tools 26    platform-tools/
platforms;android-24    2    Android SDK Platform 24    platforms/android-24/
platforms;android-25    3    Android SDK Platform 25    platforms/android-25/
tools    26.0.2    Android SDK Tools    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
cmake;3.6.4111459    3.6.4111459    CMake 3.6.4111459
docs    1    Documentation for Android SDK
emulator    26.1.3    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    43    Google Play services

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/693353
推荐阅读
相关标签
  

闽ICP备14008679号