|
1 | 1 | # This Dockerfile creates a android enviroment prepared to run integration tests |
2 | | -from debian:buster |
| 2 | +FROM debian:bookworm-slim |
3 | 3 |
|
4 | | -RUN apt-get update && apt-get install gnupg -y |
| 4 | +# Install dependencies and Java 22 |
| 5 | +RUN apt update && \ |
| 6 | + apt install gnupg gnupg2 git wget unzip gcc-multilib libglu1 curl -y && \ |
| 7 | + wget https://download.oracle.com/java/22/archive/jdk-22.0.2_linux-x64_bin.deb && \ |
| 8 | + apt install ./jdk-22.0.2_linux-x64_bin.deb && \ |
| 9 | + rm -rf jdk-22.0.2_linux-x64_bin.deb |
5 | 10 |
|
6 | | -# Install java 11 |
7 | | -RUN apt -y install wget curl |
8 | | -RUN wget https://download.oracle.com/java/22/latest/jdk-22_linux-x64_bin.deb |
9 | | -RUN apt install ./jdk-22_linux-x64_bin.deb |
10 | | -ENV JAVA_HOME=/usr/lib/jvm/jdk-22-oracle-x64/ |
11 | | -ENV PATH=$JAVA_HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| 11 | +ENV JAVA_HOME=/usr/lib/jvm/jdk-22.0.2-oracle-x64/ |
| 12 | +ENV PATH=/usr/lib/jvm/jdk-22.0.2-oracle-x64/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
12 | 13 |
|
13 | | -# Install another dependencies |
14 | | -RUN apt-get install gnupg2 git wget unzip gcc-multilib libglu1 -y |
15 | | - |
16 | | -##Install Android |
17 | | -# ENV ANDROID_HOME /opt/android |
| 14 | +## Install Android |
18 | 15 | ENV ANDROID_SDK_HOME=/usr/lib/android-sdk |
19 | 16 | ENV ANDROID_SDK_ROOT=/usr/lib/android-sdk |
20 | | -RUN wget --quiet --output-document=cmdline-tools.zip https://dl.google.com/android/repository/commandlinetools-linux-6609375_latest.zip |
21 | | -# RUN wget -O android-tools.zip https://dl.google.com/android/repository/sdk-tools-linux-4333796.zip --show-progress \ |
22 | | -# && unzip android-tools.zip -d $ANDROID_HOME && rm android-tools.zip |
23 | | -RUN mkdir -p ${ANDROID_SDK_HOME}/cmdline-tools |
24 | | -RUN unzip -d ${ANDROID_SDK_HOME}/cmdline-tools cmdline-tools.zip |
25 | | -RUN rm cmdline-tools.zip |
26 | | -ENV PATH=$ANDROID_SDK_HOME/cmdline-tools/tools/bin:$JAVA_HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| 17 | +RUN wget --quiet --output-document=cmdline-tools.zip https://dl.google.com/android/repository/commandlinetools-linux-6609375_latest.zip && \ |
| 18 | + mkdir -p ${ANDROID_SDK_HOME}/cmdline-tools && \ |
| 19 | + unzip -d ${ANDROID_SDK_HOME}/cmdline-tools cmdline-tools.zip && \ |
| 20 | + rm -rf cmdline-tools.zip |
27 | 21 |
|
28 | | -## Install Android Tools |
29 | | -RUN yes | sdkmanager --update --verbose |
30 | | -RUN yes | sdkmanager "platform-tools" --verbose |
31 | | -RUN yes | sdkmanager "platforms;android-27" --verbose |
32 | | -RUN yes | sdkmanager "build-tools;27.0.0" --verbose |
33 | | -RUN yes | sdkmanager "build-tools;28.0.3" --verbose |
34 | | -RUN yes | sdkmanager "build-tools;31.0.0" --verbose |
35 | | -RUN yes | sdkmanager "build-tools;33.0.0" --verbose |
36 | | -RUN yes | sdkmanager "build-tools;35.0.0" --verbose |
37 | | -RUN yes | sdkmanager "platforms;android-35" --verbose |
38 | | -RUN yes | sdkmanager "extras;android;m2repository" --verbose |
39 | | -RUN yes | sdkmanager "extras;google;m2repository" --verbose |
40 | | - |
41 | | -## Add platform-tools and emulator to path |
42 | | -ENV PATH $PATH:$ANDROID_SDK_HOME/platform-tools |
43 | | -ENV PATH $PATH:$ANDROID_SDK_HOME/emulator |
| 22 | +ENV PATH=$ANDROID_SDK_HOME/cmdline-tools/tools/bin:$JAVA_HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
44 | 23 |
|
45 | | -##Install latest android emulator system images |
46 | 24 | ENV EMULATOR_IMAGE "system-images;android-24;google_apis;x86_64" |
47 | | -RUN yes | sdkmanager $EMULATOR_IMAGE --verbose |
48 | 25 |
|
49 | | -## Copy Qt library files to system folder |
50 | | -RUN cp -a $ANDROID_SDK_HOME/emulator/lib64/qt/lib/. /usr/lib/x86_64-linux-gnu/ |
| 26 | +RUN yes | sdkmanager --update |
| 27 | +RUN yes | sdkmanager "platform-tools" "platforms;android-27" "build-tools;27.0.0" "build-tools;28.0.3" "build-tools;31.0.0" "build-tools;33.0.0" "build-tools;35.0.0" "platforms;android-35" "extras;android;m2repository" "extras;google;m2repository" "emulator" $EMULATOR_IMAGE |
51 | 28 |
|
52 | | -## Creating a emulator with sdcard |
53 | | -RUN echo "no" | avdmanager -v create avd -n test -k $EMULATOR_IMAGE -c 100M |
| 29 | +ENV PATH $PATH:$ANDROID_SDK_HOME/platform-tools:$ANDROID_SDK_HOME/emulator |
54 | 30 |
|
55 | | -ADD start_emulator.sh /bin/start_emulator |
56 | | -RUN chmod +x /bin/start_emulator |
| 31 | +RUN cp -a $ANDROID_SDK_HOME/emulator/lib64/qt/lib/. /usr/lib/x86_64-linux-gnu/ && \ |
| 32 | + echo "no" | avdmanager -v create avd -n test -k $EMULATOR_IMAGE -c 100M |
57 | 33 |
|
| 34 | +ADD start_emulator.sh /bin/start_emulator |
58 | 35 | ADD wait_emulator_boot.sh /bin/wait_emulator |
59 | | -RUN chmod +x /bin/wait_emulator |
60 | | - |
61 | 36 | ADD unlock_emulator.sh /bin/unlock_emulator |
62 | | -RUN chmod +x /bin/unlock_emulator |
| 37 | + |
| 38 | +RUN chmod +x /bin/start_emulator && \ |
| 39 | + chmod +x /bin/wait_emulator && \ |
| 40 | + chmod +x /bin/unlock_emulator |
63 | 41 |
|
64 | 42 | #Label |
65 | 43 | MAINTAINER Nilton Vasques <nilton.vasques@gmail.com> |
66 | | -LABEL Version="0.1.8" \ |
| 44 | +LABEL Version="2.2" \ |
67 | 45 | Description="Android SDK and emulator environment" |
0 commit comments