1
0
mirror of https://github.com/vcmi/vcmi.git synced 2025-11-23 22:37:55 +02:00
Files
vcmi/docker/BuildAndroid-aarch64.dockerfile

40 lines
1.4 KiB
Plaintext
Raw Normal View History

2025-01-15 11:01:45 +01:00
FROM ubuntu:noble
WORKDIR /usr/local/app
RUN apt-get update && apt-get install -y openjdk-17-jdk python3 pipx cmake ccache ninja-build wget git xz-utils
ENV PIPX_HOME="/opt/pipx"
ENV PIPX_BIN_DIR="/usr/local/bin"
ENV PIPX_MAN_DIR="/usr/local/share/man"
2025-08-27 15:56:47 +03:00
RUN pipx install 'conan'
RUN pipx install 'sdkmanager'
2025-01-15 11:01:45 +01:00
2025-08-27 15:56:47 +03:00
RUN conan profile detect
2025-01-15 11:01:45 +01:00
2025-08-27 15:56:47 +03:00
ENV DEPS_VERSION="2025-08-24"
ENV DEPS="dependencies-android-arm64-v8a.tgz"
RUN wget --https-only --max-redirect=20 https://github.com/vcmi/vcmi-dependencies/releases/download/$DEPS_VERSION/$DEPS
RUN conan cache restore $DEPS
RUN rm $DEPS
2025-01-15 11:01:45 +01:00
ENV JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"
ENV ANDROID_HOME="/usr/lib/android-sdk"
2025-08-27 15:56:47 +03:00
ENV GRADLE_USER_HOME="/vcmi/.cache/gradle"
ENV NDK_VERSION="25.2.9519653"
2025-01-15 11:01:45 +01:00
2025-08-27 15:56:47 +03:00
RUN sdkmanager --install "platform-tools" "platforms;android-35" "ndk;$NDK_VERSION"
2025-01-15 11:01:45 +01:00
RUN yes | sdkmanager --licenses
CMD ["sh", "-c", " \
# switch to mounted dir
cd /vcmi ; \
2025-08-27 15:56:47 +03:00
# prepare Gradle config
mkdir -p $GRADLE_USER_HOME ; \
echo android.bundle.enableUncompressedNativeLibs=true > $GRADLE_USER_HOME/gradle.properties ; \
# generate CMake toolchain
conan install . --output-folder=conan-generated --build=never --profile=dependencies/conan_profiles/android-64 --profile=dependencies/conan_profiles/base/android-system -c tools.android:ndk_path=$ANDROID_HOME/ndk/$NDK_VERSION && \
2025-01-15 11:01:45 +01:00
# build
2025-08-27 15:56:47 +03:00
cmake --preset android-daily-release && \
2025-01-15 11:01:45 +01:00
cmake --build --preset android-daily-release \
"]