Skip to content

Commit ed1f64a

Browse files
committed
fix: ensure platform-tools in PATH for healthcheck
1 parent 0cb070f commit ed1f64a

File tree

1 file changed

+8
-37
lines changed

1 file changed

+8
-37
lines changed

Dockerfile

Lines changed: 8 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@ FROM ubuntu:20.04
22
ARG ANDROID_VERSION=30
33
ENV ANDROID_VERSION=${ANDROID_VERSION}
44

5-
# Install necessary packages
65
RUN 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
3331
RUN 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

4139
ENV ANDROID_HOME=/opt/android-sdk
4240
ENV 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.
4743
RUN 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
5848
RUN 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+
6662
RUN 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
7964
COPY 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
8566
COPY first-boot.sh /root/first-boot.sh
8667
RUN chmod +x /root/first-boot.sh
8768

88-
# Copy the start-emulator script
8969
COPY start-emulator.sh /root/start-emulator.sh
9070
RUN chmod +x /root/start-emulator.sh
9171

92-
# Expose necessary ports
9372
EXPOSE 5554 5555
9473

95-
# Healthcheck to ensure the emulator is running
9674
HEALTHCHECK --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
10077
CMD ["/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

Comments
 (0)