Skip to content

Commit 63dedd2

Browse files
Upgrade Java 22 and Android api 35 and improve Dockerfile (#11)
* upgrade java to 22 and android to api 35 * fixes * fixes * return title * First * Small changes * use github actions to publish build * Multiple upgrades: use debian bookwhorm-slim, use less RUN to make build smaller, create .dockerignore * remove github actions - different PR --------- Co-authored-by: Vitor Moraes <vitordmoraes.93@gmail.com>
1 parent 8c5c0fa commit 63dedd2

File tree

2 files changed

+29
-48
lines changed

2 files changed

+29
-48
lines changed

.dockerignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
.git
2+
Dockerfile
3+
README.md

Dockerfile

Lines changed: 26 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,67 +1,45 @@
11
# This Dockerfile creates a android enviroment prepared to run integration tests
2-
from debian:buster
2+
FROM debian:bookworm-slim
33

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
510

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
1213

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
1815
ENV ANDROID_SDK_HOME=/usr/lib/android-sdk
1916
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
2721

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
4423

45-
##Install latest android emulator system images
4624
ENV EMULATOR_IMAGE "system-images;android-24;google_apis;x86_64"
47-
RUN yes | sdkmanager $EMULATOR_IMAGE --verbose
4825

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
5128

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
5430

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
5733

34+
ADD start_emulator.sh /bin/start_emulator
5835
ADD wait_emulator_boot.sh /bin/wait_emulator
59-
RUN chmod +x /bin/wait_emulator
60-
6136
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
6341

6442
#Label
6543
MAINTAINER Nilton Vasques <nilton.vasques@gmail.com>
66-
LABEL Version="0.1.8" \
44+
LABEL Version="2.2" \
6745
Description="Android SDK and emulator environment"

0 commit comments

Comments
 (0)