@@ -2,7 +2,6 @@ FROM ubuntu:20.04
22ARG ANDROID_VERSION=30
33ENV ANDROID_VERSION=${ANDROID_VERSION}
44
5- # Install necessary packages
65RUN apt-get update && \
76 DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
87 libegl1 \
@@ -29,7 +28,6 @@ RUN curl -s "https://dl.google.com/android/repository/repository2-1.xml" | \
2928 unzip -q /tmp/emulator.zip -d /opt/android-sdk && rm /tmp/emulator.zip; \
3029 fi
3130
32- # Set up Android SDK
3331RUN mkdir -p /opt/android-sdk/cmdline-tools && \
3432 cd /opt/android-sdk/cmdline-tools && \
3533 wget https://dl.google.com/android/repository/commandlinetools-linux-13114758_latest.zip -O cmdline-tools.zip && \
@@ -40,67 +38,40 @@ RUN mkdir -p /opt/android-sdk/cmdline-tools && \
4038
4139ENV ANDROID_HOME=/opt/android-sdk
4240ENV ANDROID_AVD_HOME=/data
43- ENV ADB_DIR="$ANDROID_HOME/platform-tools"
44- ENV PATH="$ANDROID_HOME/cmdline-tools/latest/bin:$ADB_DIR:$PATH"
41+ ENV PATH="$ANDROID_HOME/cmdline-tools/latest/bin:$ANDROID_HOME/platform-tools:$PATH"
4542
46- # Initializing the required directories.
4743RUN mkdir /root/.android/ && \
4844 touch /root/.android/repositories.cfg && \
4945 mkdir /data && \
5046 mkdir /extras
5147
52- # Copy emulator.zip
53- # COPY emulator.zip /root/emulator.zip
54- # COPY emulator/package.xml /root/package.xml
55-
56-
57- # Detect architecture and set environment variable
5848RUN export ANDROID_VERSION=$ANDROID_VERSION && \
5949 if [ "$ANDROID_VERSION" -ge 35 ]; then \
6050 yes | sdkmanager --sdk_root=$ANDROID_HOME "platform-tools" "platforms;android-${ANDROID_VERSION}" "system-images;android-${ANDROID_VERSION};google_apis;x86_64" || true; \
6151 else \
6252 yes | sdkmanager --sdk_root=$ANDROID_HOME "emulator" "platform-tools" "platforms;android-${ANDROID_VERSION}" "system-images;android-${ANDROID_VERSION};default;x86_64" ; \
6353 fi && \
6454 yes | sdkmanager --sdk_root=$ANDROID_HOME "emulator" || true
65- # remove /opt/android-sdk/emulator/crashpad_handler
55+
56+ RUN if [ ! -f "$ANDROID_HOME/platform-tools/adb" ]; then \
57+ echo "ERROR: adb not found at $ANDROID_HOME/platform-tools/adb" ; \
58+ ls -la $ANDROID_HOME/; \
59+ exit 1; \
60+ fi
61+
6662RUN rm -f /opt/android-sdk/emulator/crashpad_handler
67- # RUN if [ "$(uname -m)" = "aarch64" ]; then \
68- # unzip /root/emulator.zip -d $ANDROID_HOME && \
69- # mv /root/package.xml $ANDROID_HOME/emulator/package.xml && \
70- # rm /root/emulator.zip && \
71- # yes | sdkmanager --sdk_root=$ANDROID_HOME "platform-tools" "platforms;android-29" "system-images;android-29;default;arm64-v8a" && \
72- # echo "no" | avdmanager create avd -n test -k "system-images;android-29;default;arm64-v8a"; \
73- # else \
74- # yes | sdkmanager --sdk_root=$ANDROID_HOME "emulator" "platform-tools" "platforms;android-29" "system-images;android-29;default;x86_64" && \
75- # echo "no" | avdmanager create avd -n test -k "system-images;android-29;default;x86_64"; \
76- # fi
7763
78- # Copy supervisor config
7964COPY supervisord.conf /etc/supervisor/conf.d/supervisord.conf
8065
81- # Copy the rootAVD repository
82- # COPY rootAVD /root/rootAVD
83-
84- # Copy the first-boot script
8566COPY first-boot.sh /root/first-boot.sh
8667RUN chmod +x /root/first-boot.sh
8768
88- # Copy the start-emulator script
8969COPY start-emulator.sh /root/start-emulator.sh
9070RUN chmod +x /root/start-emulator.sh
9171
92- # Expose necessary ports
9372EXPOSE 5554 5555
9473
95- # Healthcheck to ensure the emulator is running
9674HEALTHCHECK --interval=10s --timeout=10s --retries=600 \
9775 CMD adb devices | grep emulator-5554 && test -f /data/.first-boot-done || exit 1
9876
99- # Start Supervisor to manage the emulator
10077CMD ["/usr/bin/supervisord" , "-c" , "/etc/supervisor/conf.d/supervisord.conf" ]
101-
102- # docker build -t dockerify-android .
103- # docker run -d --name dockerify-android --device /dev/kvm --privileged -p 5555:5555 dockerify-android
104- # docker run -d --name dockerify-android --device /dev/kvm --privileged -p 5555:5555 shmayro/dockerify-android
105- # docker exec -it dockerify-android tail -f /var/log/supervisor/emulator.out
106- # docker exec -it dockerify-android tail -f /var/log/supervisor/first-boot.out.log
0 commit comments