mk99z commited on
Commit
01954ff
·
verified ·
1 Parent(s): e0cd069

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +53 -39
Dockerfile CHANGED
@@ -1,44 +1,58 @@
1
- # 基于官方的Ubuntu镜像
2
  FROM ubuntu:20.04
3
-
4
- # 安装所需的依赖
 
 
 
 
 
 
 
 
5
  RUN apt-get update && apt-get install -y \
6
- curl \
7
- git \
8
  openjdk-11-jdk \
9
- python3 \
10
- python3-pip \
11
- unzip
12
-
13
- # 设置环境变量
14
- ENV ANDROID_SDK_ROOT /root/android-sdk \
15
- ANDROID_HOME /root/android-sdk \
16
- ANDROID_NDK_ROOT /root/android-ndk-r21e \
17
- ANDROID_SDK_TOOLS_VERSION 7355738 \
18
- JAVA_HOME /usr/lib/jvm/java-11-openjdk-amd64
19
-
20
- # 下载Android SDK和工具
21
- RUN mkdir -p /root/android-sdk-tools \
22
- && curl -fsSL https://dl.google./android/repository/commandlinetools-linux-7355738_latest.zip -o commandlinetools.zip \
23
- && unzip -q commandlinetools.zip -d /root/android-sdk-tools \
24
- && rm commandlinetools.zip \
25
- && curl -fsSL https://dl.google.com/android/repository/sdk-tools-linux-7355738.zip -o sdk-tools.zip \
26
- && unzip -q sdk-tools.zip -d /root/android-sdk-tools \
27
- && rm sdk-tools.zip \
28
- && mv /root/android-sdk-tools/cmdline-tools/latest/cmdline-tools /root/android-sdk-tools \
29
- && rm -rf /root/android-sdk-tools/cmdline-tools
30
-
31
- # 设置PATH环境变量
32
- ENV PATH $ANDROID_SDK_ROOT/tools/bin:$PATH
33
-
34
  # 安装Android SDK组件
35
- RUN yes | /root/android-sdk-tools/bin/sdkmanager --sdk_root=/root/android-sdk "platform-tools" "platforms;android-29"
36
-
 
 
 
 
 
37
  # 设置工作目录
38
- WORKDIR /root/android-sdk-tools
39
-
40
- # 设置用户
41
- USER developer
42
-
43
- # 默认命令
44
- CMD ["/bin/bash"]
 
 
 
 
 
 
 
 
 
 
 
1
+ # 使用Ubuntu作为基础镜像
2
  FROM ubuntu:20.04
3
+
4
+ # 避免交互式提示
5
+ ENV DEBIAN_FRONTEND=noninteractive
6
+
7
+ # 设置环境变量
8
+ ENV ANDROID_HOME=/opt/android-sdk
9
+ ENV ANDROID_SDK_ROOT=$ANDROID_HOME
10
+ ENV PATH=$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/cmdline-tools/latest/bin
11
+
12
+ # 安装必要的包
13
  RUN apt-get update && apt-get install -y \
14
+ wget \
15
+ unzip \
16
  openjdk-11-jdk \
17
+ git \
18
+ curl \
19
+ && rm -rf /var/lib/apt/lists/*
20
+
21
+ # 创建Android SDK目录
22
+ RUN mkdir -p ${ANDROID_HOME}/cmdline-tools
23
+
24
+ # 下载Android命令行工具
25
+ RUN wget -q https://dl.google.com/android/repository/commandlinetools-linux-8512546_latest.zip -O cmdline-tools.zip \
26
+ && unzip cmdline-tools.zip -d ${ANDROID_HOME}/cmdline-tools \
27
+ && mv ${ANDROID_HOME}/cmdline-tools/cmdline-tools ${ANDROID_HOME}/cmdline-tools/latest \
28
+ && rm cmdline-tools.zip
29
+
30
+ # 接受许可
31
+ RUN yes | sdkmanager --licenses
32
+
 
 
 
 
 
 
 
 
 
33
  # 安装Android SDK组件
34
+ RUN sdkmanager \
35
+ "platform-tools" \
36
+ "platforms;android-30" \
37
+ "build-tools;30.0.3" \
38
+ "extras;android;m2repository" \
39
+ "extras;google;m2repository"
40
+
41
  # 设置工作目录
42
+ WORKDIR /app
43
+
44
+ # 添加Gradle包装器
45
+ COPY gradlew .
46
+ COPY gradle gradle
47
+ COPY build.gradle .
48
+ COPY settings.gradle .
49
+ COPY app app
50
+
51
+ # 给予Gradle包装器执行权限
52
+ RUN chmod +x ./gradlew
53
+
54
+ # 预下载依赖
55
+ RUN ./gradlew --no-daemon dependencies
56
+
57
+ # 设置默认命令
58
+ CMD ["./gradlew", "assembleDebug"]