山东鑫泰建设集团网站,百货店怎么做网站送货,电子商务网站的作用,1688阿里巴巴官方网站一、安装包准备
1、准备jdk
下载地址#xff1a;Java Downloads | Oracle
注意版本#xff01;#xff01;#xff01;#xff01;#xff01;#xff01; 我下载的jdk17#xff0c;不然后面构建镜像报错#xff0c;就是版本不对
2、准备安装的工具包
ttps://dev…一、安装包准备
1、准备jdk
下载地址Java Downloads | Oracle
注意版本 我下载的jdk17不然后面构建镜像报错就是版本不对
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.0latest 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
FROM ***********/base/ubuntu-base:python3.10#RUN pip config set global.index-url http://mirrors.cloud.tencent.com/pypi/simple
#RUN pip config set global.trusted-host mirrors.cloud.tencent.comWORKDIR /home/workADD ./*.py /home/work
# 拷贝JDK安装包到容器中
# 安装jdk
ADD jdk-17_linux-x64_bin.tar.gz /usr/app/java
RUN mkdir -p /usr/app/java#设置JAVA_HOME的环境变量
ENV JAVA_HOME/usr/app/java/jdk-17.0.10
ENV CLASSPATH.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH$JAVA_HOME/bin:$PATH
#容器启动时需要执行的命令
CMD java -versionRUN mkdir -p /usr/local/androidSdk# 设置变量
ENV ANDROID_HOME/usr/local/androidSdk \SDK_TOOL_URLhttps://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zipRUN echo Y | apt install unzip
RUN apt update
RUN echo Y | apt install curl# 创建android sdk目录,并下载 sdkmanager
RUN cd $ANDROID_HOME \ curl -o sdk.zip $SDK_TOOL_URL \ unzip sdk.zip \ rm sdk.zip# 解压完之后在cmdline-tools路径下创建latest文件夹
RUN mkdir -p ${ANDROID_HOME}/sdk/cmdline-tools/latest RUN cp -r ${ANDROID_HOME}/cmdline-tools/* ${ANDROID_HOME}/sdk/cmdline-tools/latest# 安装android sdk其他package, 输入y是因为此处会有一个licence,需要用户同意后才会安装
RUN echo Y | ${ANDROID_HOME}/sdk/cmdline-tools/latest/bin/sdkmanager platform-tools platforms;android-28 build-tools;28.0.3# 设置环境变量: 把 android sdk 路径加入到 PATH 中
ENV PATH ${ANDROID_HOME}/sdk/cmdline-tools:${ANDROID_HOME}/sdk/cmdline-tools/latest/bin:${ANDROID_HOME}/platform-tools:${PATH}RUN apt update
RUN pip install oss2RUN apt clean
# 使用官方的Ubuntu镜像作为基础镜像
FROM ubuntu:latest
WORKDIR /home/work# 拷贝JDK安装包到容器中
# 安装jdk
ADD jdk-17_linux-x64_bin.tar.gz /usr/app/java
RUN mkdir -p /usr/app/java#设置JAVA_HOME的环境变量
ENV JAVA_HOME/usr/app/java/jdk-17.0.10
ENV CLASSPATH.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH$JAVA_HOME/bin:$PATHRUN apt update
RUN echo Y | apt install unzip# 设置变量 /opt/app/android-sdk/sdk/cmdline-tools
ENV ANDROID_DIR/opt/app/android-sdk
RUN mkdir -p $ANDROID_DIR
# 创建android sdk目录,并下载 sdkmanager
COPY commandlinetools-linux-11076708_latest.zip $ANDROID_DIR
RUN cd $ANDROID_DIR unzip commandlinetools-linux-11076708_latest.zip -d $ANDROID_DIR# 解压完之后在cmdline-tools路径下创建latest文件夹
RUN mkdir -p $ANDROID_DIR/sdk/cmdline-tools/latest
#/opt/app/android-sdk/sdk/cmdline-tools
RUN cp -r $ANDROID_DIR/cmdline-tools/* $ANDROID_DIR/sdk/cmdline-tools/latest
RUN rm -rf $ANDROID_DIR/cmdline-tools# 设置环境变量: 把 android sdk 路径加入到 PATH 中
ENV ANDROID_HOME$ANDROID_DIR/sdk/cmdline-tools/latest
ENV PATH$ANDROID_HOME/bin:$PATH
ENV PATH ${ANDROID_DIR}/sdk/cmdline-tools:${ANDROID_HOME}/platform-tools:${PATH}# 安装android sdk其他package, 输入y是因为此处会有一个licence,需要用户同意后才会安装
# /opt/app/android-sdk/sdk/cmdline-tools/latest/binRUN Y | $ANDROID_HOME/bin/sdkmanager platforms;android-28
RUN Y | $ANDROID_HOME/bin/sdkmanager platforms;android-27
RUN Y | $ANDROID_HOME/bin/sdkmanager build-tools;28.0.3
RUN Y | $ANDROID_HOME/bin/sdkmanager build-tools;27.0.3 注意这里的基础镜像你们根据你们的实际 情况修改改成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的文件夹下具体操作如图。 参考dockerjenkinsandroid环境搭建(使用dockerfile) - 掘金
在docker搭建android编译打包环境实践 - 简书
Android cmdline-tools 版本与其最小JDK关系_java11对应的android sdk tools-linux版本是多少-CSDN博客
Linux 环境下 搭建Android SDK 和Android NDK-腾讯云开发者社区-腾讯云