File size: 2,770 Bytes
6c719d8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# 使用基于 Debian 的 Python 镜像作为基础镜像
FROM python:3.11-slim-bullseye

# 替换为USTC的镜像源
RUN sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list

# 安装 Flask
RUN pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
RUN pip install flask

# 更新软件包索引并安装必要的软件包及缺失的依赖
RUN apt-get update && apt-get install -y \
    vim \
    wget \
    unzip \
    libpulse-dev \
    libnss3 \
    cpu-checker \
    # === 添加的 Android Emulator 和 Qt 相关依赖 ===
    libdrm2 \
    libxkbfile1 \
    libxcb-cursor0 \
    libxkbcommon-x11-0 \
    libglu1-mesa \
    libqt5gui5 \
    libqt5core5a \
    libqt5widgets5 \
    libqt5network5 \
    libqt5qml5 \
    libqt5quick5 \
    libx11-xcb-dev \
    libxcb-xinerama0 \
    libxcb-icccm4 \
    libxcb-image0 \
    libxcb-keysyms1 \
    libxcb-randr0 \
    libxcb-render0 \
    libxcb-shape0 \
    libxcb-sync1 \
    libxcb-xfixes0 \
    libxcb-glx0 \
    libsdl2-2.0-0 \
    libxext6 \
    libpciaccess0 

# 创建安装目录并切换到该目录
RUN mkdir -p /root/install-android && cd /root/install-android

# 下载和安装 OpenJDK
COPY openlogic-openjdk-8u412-b08-linux-x64-deb.deb .
RUN apt install -y ./openlogic-openjdk-8u412-b08-linux-x64-deb.deb

# 设置 Android 环境变量
ENV ANDROID_HOME=/root/.android
RUN mkdir -p $ANDROID_HOME

# 下载 Android SDK
COPY sdk-tools-linux-4333796.zip .
RUN unzip ./sdk-tools-linux-4333796.zip -d $ANDROID_HOME

# 更新 .bashrc 文件
RUN echo "export ANDROID_HOME=$ANDROID_HOME" >> /root/.bashrc \
    && echo 'export SDK=$ANDROID_HOME' >> /root/.bashrc \
    && echo 'export ANDROID_SDK_ROOT=$ANDROID_HOME' >> /root/.bashrc \
    && echo 'export PATH=$SDK/emulator:$SDK/tools:$SDK/tools/bin:$SDK/platform-tools:$PATH' >> /root/.bashrc

# 安装 Android SDK 工具
RUN /bin/bash -c "source /root/.bashrc && yes | sdkmanager 'platform-tools' 'emulator'"
RUN /bin/bash -c "source /root/.bashrc && yes | sdkmanager 'build-tools;33.0.0'"
RUN /bin/bash -c "source /root/.bashrc && yes | sdkmanager 'platforms;android-33'"

# 复制文件到容器内的指定位置
COPY skins.zip .
RUN unzip ./skins.zip -d /root/.android/ 
COPY Pixel_7_Pro_API_33.ini /root/.android/avd/
COPY Pixel_7_Pro_API_33.avd.zip .
RUN unzip ./Pixel_7_Pro_API_33.avd.zip -d /root/.android/avd/ 

COPY adb_client.py /

COPY x86_64.zip .
RUN mkdir -p /root/.android/system-images/android-33/google_apis/
RUN unzip ./x86_64.zip -d /root/.android/system-images/android-33/google_apis/ 

# 清理不需要的文件
RUN rm /Pixel_7_Pro_API_33.avd.zip \
    && rm /openlogic-openjdk-8u412-b08-linux-x64-deb.deb \
    && rm /sdk-tools-linux-4333796.zip \
    && rm /skins.zip \
    && rm /x86_64.zip