美文网首页Android技术知识Android开发Android开发
在docker搭建android编译打包环境实践

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

作者: hellsam | 来源:发表于2019-02-20 16:29 被阅读6次

    环境准备

    1. centos7服务器


      image.png
    2. docker18.09.0


      image.png

    安装包准备

    1. JDK8
      下载地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

      image.png
    2. android tools
      下载地址:https://developer.android.google.cn/studio/

      image.png

    编写Dockerfile

    1. 创建Dockerfile文件
      新建一个文件夹,将上面下载的jdk和android tools放进去,再新建一个Dockerfile文件。


      image.png
    2. Dockerfile内容

    # 基于centos基础镜像
    FROM centos:latest
    
    # 安装常用命令
    RUN yum install -y curl \
        && yum install -y wget \
        && yum install -y zip \
        && yum install -y unzip \
        && yum install -y tar \
        && yum install -y lsof \
        && yum install -y git
    
    #设置工作目录
    WORKDIR /home
    
    # 拷贝JDK安装包到容器中
    COPY jdk-8u191-linux-x64.rpm /home
    # 安装JDK
    RUN yum install -y jdk-8u191-linux-x64.rpm \
        && java -version
    # 设置JAVA_HOME环境变量
    ENV JAVA_HOME /usr/java/jdk1.8.0_191-amd64
    
    # 拷贝android tools到容器中
    COPY sdk-tools-linux-4333796.zip /home
    # 解压android tools
    RUN mkdir -p /opt/app/android-sdk
    RUN unzip -d /opt/app/android-sdk sdk-tools-linux-4333796.zip
    
    # 安装需要的platforms和build-tools版本
    RUN yes | /opt/app/android-sdk/tools/bin/sdkmanager "platforms;android-28"
    RUN yes | /opt/app/android-sdk/tools/bin/sdkmanager "platforms;android-27"
    RUN yes | /opt/app/android-sdk/tools/bin/sdkmanager "build-tools;28.0.3"
    RUN yes | /opt/app/android-sdk/tools/bin/sdkmanager "build-tools;27.0.3"
    

    使用 Dockerfile 创建镜像

    1. 下载centos镜像
    docker pull centos
    
    1. 进入Dockfile文件所在文件夹后输入如下命令
    docker build -t android-package:0.0.1 .
    
    1. 待build完成输入docker images命令就可以看到build成功的镜像了
    image.png

    以交互模式启动容器,并在容器内执行/bin/bash命令

    输入如下命令

    docker run -it android-package:0.0.1 /bin/bash
    

    之后就进入了容器shell命令界面

    image.png

    确认容器环境

    1. 确认java环境
      输入命令 java -version
      image.png
    2. 确认JAVA_HOME环境变量
      输入命令echo $JAVA_HOME
      image.png
    3. 确认platforms是否下载成功
      输入命令ll /opt/app/android-sdk/platforms/
      image.png
    4. 确认build-tools是否下载成功
      输入命令ll /opt/app/android-sdk/build-tools/
      image.png

    验证打包

    1. 下载一个Android项目代码

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

    1. 创建local.properties文件并指定android sdk路径

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

    echo "sdk.dir=/opt/app/android-sdk" > local.properties
    
    1. 开始编译打包

    输入如下命令

    ./gradlew assembleRelease
    

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

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

    有任何疑问,欢迎留言交流

    相关文章

      网友评论

        本文标题:在docker搭建android编译打包环境实践

        本文链接:https://www.haomeiwen.com/subject/xrxzeqtx.html