Android应用构建:14:构建Android SDK的自定义镜像
发布日期:2021-06-30 20:16:01
浏览次数:2
分类:技术文章
本文共 3874 字,大约阅读时间需要 12 分钟。
使用容器能更方便地进行持续集成和持续部署的实践,这篇文章介绍一下如何构建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/androidENV PATH ${PATH}:${ANDROID_HOME}/tools:${ANDROID_HOME}/tools/bin:${ANDROID_HOME}/platform-tools################################################################################ install gradle ###############################################################################ARG SDK_ZIP_FILE=sdk-tools-linux-4333796.zipARG 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 sdkliumiaocn/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 --versionAndroid Debug Bridge version 1.0.41Version 29.0.5-5949299Installed as /usr/local/android/platform-tools/adb#
确认sdkmanager版本
# which sdkmanager/usr/local/android/tools/bin/sdkmanager# # sdkmanager --version26.1.1#
确认已安装的sdk组件以及可安装的组件
# sdkmanager --listInstalled 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 #
转载地址:https://liumiaocn.blog.csdn.net/article/details/103640872 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
逛到本站,mark一下
[***.202.152.39]2024年04月14日 23时50分12秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
【转载】炼丹实验室:深度学习网络调参技巧
2019-04-30
【论文阅读笔记】文本分类论文汇总
2019-04-30
【NLP学习笔记】One-hot encoding:独热编码
2019-04-30
【工具使用】CSDN编辑器markdown字体、颜色与字号的设置
2019-04-30
【NLP学习笔记】词共现矩阵
2019-04-30
【NLP学习笔记】NLP基础知识框架图
2019-04-30
【工具与环境】Windows下安装Sublime Text 3
2019-04-30
【工具与环境】Excel中批量插入行
2019-04-30
【学习笔记】对vanilla的一些个人理解
2019-04-30
“学硕” VS “专硕”
2019-04-30
【NLP学习笔记】知识图谱阅读笔记及其心得
2019-04-30
【工具使用】新版CSDN-markdown编辑器使用指南
2019-04-30
《知识图谱》阅读笔记(六)
2019-04-30
【NLP学习笔记】中文分词(Word Segmentation,WS)
2019-04-30
【NLP学习笔记】词性标注(Part-of-speech Tagging, POS)
2019-04-30
《知识图谱》阅读笔记(七)
2019-04-30
《知识图谱》阅读笔记(九)
2019-04-30