做下载类网站前景,黄骅港属于哪个区,友情网,网站流量方案文章目录 背景步骤1.创建Dockerfile2.编写Dockerfile指令3.编译4.使用 背景
每次拿到新机器或者系统重装#xff0c;最麻烦的就是各种环境配置#xff0c;最近学习了一下docker的知识#xff0c;用dockerfile创建一个Android编译容器#xff0c;这样就不用每次都吭哧吭哧的… 文章目录 背景步骤1.创建Dockerfile2.编写Dockerfile指令3.编译4.使用 背景
每次拿到新机器或者系统重装最麻烦的就是各种环境配置最近学习了一下docker的知识用dockerfile创建一个Android编译容器这样就不用每次都吭哧吭哧的配置各种环境至少编译可以方便点开发环境还是得手动配的。
步骤
1.创建Dockerfile
新建一个目录创建Dockerfile并在这个目录下创建apps文件夹在这个文件夹下放入jdk和commandlinetools这个需要我们去官网上下载。 jdkhttps://www.oracle.com/java/technologies/downloads/ commandlinehttps://developer.android.com/studio?gclidCj0KCQiA4Y-sBhC6ARIsAGXF1g5cCwfbTSfschbk_6x-YpZv3lN5PEDKAX3x18d71w54crTtfJYitbYaAoCpEALw_wcBgclsrcaw.dshlzh-cn
2.编写Dockerfile指令
# 基于ubuntu基础镜像
FROM ubuntu:latest# 安装常用命令
RUN apt-get update \ apt-get install -y curl \ apt-get install -y wget \ apt-get install -y zip \ apt-get install -y unzip \ apt-get install -y tar \ apt-get install -y lsof \ apt-get install -y git \ apt-get install -y git-lfs \ git lfs install \ apt-get install -y tar \ apt-get install -y python3 \ apt-get clean all#设置工作目录
WORKDIR /home
COPY apps/ /home/# 设置java环境
RUN mkdir -p /opt/app/jdk \ tar -xzvf jdk-17_linux-x64_bin.tar.gz -C /opt/app/jdk \ rm jdk-17_linux-x64_bin.tar.gz
ENV JAVA_HOME/opt/app/jdk/jdk-17.0.9
ENV PATH$PATH:$JAVA_HOME/bin# 设置android环境
RUN mkdir -p /opt/app/android-sdk \ unzip commandlinetools-linux-10406996_latest.zip -d /opt/app/android-sdk/ \ rm commandlinetools-linux-10406996_latest.zip \ mkdir -p /opt/app/android-sdk/cmdline-tools/latest \ find /opt/app/android-sdk/cmdline-tools/ -maxdepth 1 -mindepth 1 -not -name latest -exec mv {} /opt/app/android-sdk/cmdline-tools/latest/ \;
ENV ANDROID_HOME/opt/app/android-sdk
ENV PATH$PATH:$ANDROID_HOME/cmdline-tools/latest/bin# 安装需要的platforms和build-tools版本
RUN yes | /opt/app/android-sdk/cmdline-tools/latest/bin/sdkmanager platforms;android-34 \ yes | /opt/app/android-sdk/cmdline-tools/latest/bin/sdkmanager build-tools;30.0.3 这里的指令还是比较简单的比如 COPY 就可以将apps文件夹下的文件复制到容器的home目录ENV设置环境变量RUN可以执行shell命令。 需要注意的是RUN和COPY指令都会增加容器的层级所以我们尽可能的将可以合并的指令通过 连接起来以此来减少容器的层级减少容器的大小。
3.编译
在根目录下执行以下指令
docker build -t android-package:0.0.1 . 等待执行完成就可以看到我们编译出来的镜像了
4.使用
我们用这个镜像创建一个容器并进入到这个容器中
docker run -it android-package:0.0.1 /bin/bash发现已经有java的环境变量了 再clone一个工程尝试编译发现能够编译成功。 大功告成