您当前的位置: 首页 >  android

暂无认证

  • 0浏览

    0关注

    92582博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Android应用构建:14:构建Android SDK的自定义镜像

发布时间:2019-12-21 05:36:08 ,浏览量:0

在这里插入图片描述 使用容器能更方便地进行持续集成和持续部署的实践,这篇文章介绍一下如何构建Android SDK的自定义镜像。

示例Dockerfile

以SDK 26.1.1为例,示例Dockerfile如下所示:

###############################################################################
#
#IMAGE:   Android SDK
#VERSION: 26.1.1
#
###############################################################################
FROM openjdk:8

###############################################################################
#MAINTAINER
###############################################################################
MAINTAINER LiuMiao 

###############################################################################
#ENVIRONMENT VARS
###############################################################################
ENV ANDROID_HOME /usr/local/android
ENV PATH ${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools

###############################################################################
# install gradle 
###############################################################################
ARG SDK_ZIP_FILE=sdk-tools-linux-4333796.zip
ARG SDK_TOOLS_URL=https://dl.google.com/android/repository/${SDK_ZIP_FILE}
RUN set -o errexit -o nounset       \
    && wget ${SDK_TOOLS_URL}        \
    && unzip ${SDK_ZIP_FILE}        \
    && mkdir -p ${ANDROID_HOME}     \
    && mv tools ${ANDROID_HOME}     \
    && cd ${ANDROID_HOME}/tools/bin \
    && mkdir -p /root/.android      \
    && touch /root/.android/repositories.cfg \
    && yes | sdkmanager --licenses  \
    && ./sdkmanager platform-tools "platforms;android-29" "build-tools;29.0.2"

代码说明:

  • yes | sdkmanager --licenses :用于自动接受License
  • touch /root/.android/repositories.cfg:创建缺省的repositories.cfg文件,避免使用出错
  • SDK安装包:sdk-tools-linux-4333796.zip为26.1.1,可根据需要修改
  • SDK组件:使用sdkmanager进行安装,android命令安装方式已经过时。安装了platform-tools、android-29和build-tools29.0.2三个基础组件,可根据需要进行添加,如果单层layer过大,比如超过1G,可考虑另行创建一个Layer进行管理。
dockerhub

下载镜像:docker pull liumiaocn/android:sdk.26.1.1

在这里插入图片描述

镜像确认

镜像较大,未压缩的情况下已经超过1G,如果安装更多组件将会更大

liumiaocn:~ liumiao$ docker images |grep sdk
liumiaocn/android                               sdk.26.1.1                      f66dd04a29c6        8 hours ago         1.08GB

启动容器并确认adb版本

liumiaocn:~ liumiao$ docker run --rm -it liumiaocn/android:sdk.26.1.1 sh
# which adb
/usr/local/android/platform-tools/adb
# adb --version
Android Debug Bridge version 1.0.41
Version 29.0.5-5949299
Installed as /usr/local/android/platform-tools/adb
#

确认sdkmanager版本

# which sdkmanager
/usr/local/android/tools/bin/sdkmanager
# 
# sdkmanager --version
26.1.1
#

确认已安装的sdk组件以及可安装的组件

# sdkmanager --list
Installed packages:=====================] 100% Computing updates...             
  Path                 | Version | Description                    | Location             
  -------              | ------- | -------                        | -------              
  build-tools;29.0.2   | 29.0.2  | Android SDK Build-Tools 29.0.2 | build-tools/29.0.2/  
  platform-tools       | 29.0.5  | Android SDK Platform-Tools     | platform-tools/      
  platforms;android-29 | 4       | Android SDK Platform 29        | platforms/android-29/
  tools                | 26.1.1  | Android SDK Tools 26.1.1       | tools/               

Available Packages:
  Path                                                                                     | Version      | Description                                                         
  -------                                                                                  | -------      | -------                                                             
  add-ons;addon-google_apis-google-15                                                      | 3            | Google APIs                                                         
 ...省略                           
  tools                                                                                    | 26.1.1       | Android SDK Tools                                                   

#
关注
打赏
1653961664
查看更多评论
立即登录/注册

微信扫码登录

2.3160s