diff --git a/tauri_app/Dockerfile.apk b/tauri_app/Dockerfile.apk index 6c44e0d..0c387b1 100644 --- a/tauri_app/Dockerfile.apk +++ b/tauri_app/Dockerfile.apk @@ -3,8 +3,6 @@ FROM ghcr.io/cirruslabs/android-sdk:35 ENV DEBIAN_FRONTEND=noninteractive ENV ANDROID_HOME=/opt/android-sdk ENV ANDROID_SDK_ROOT=/opt/android-sdk -ENV ANDROID_NDK_HOME=/opt/android-sdk/ndk/27.0.12077973 -ENV NDK_HOME=/opt/android-sdk/ndk/27.0.12077973 ENV JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 ENV PATH=/root/.cargo/bin:/opt/android-sdk/cmdline-tools/latest/bin:/opt/android-sdk/platform-tools:/usr/local/bin:$PATH @@ -23,20 +21,16 @@ RUN apt-get update && apt-get install -y --no-install-recommends \ && rm -rf /var/lib/apt/lists/* RUN if [ ! -d "${ANDROID_HOME}" ] && [ -d /opt/android-sdk-linux ]; then ln -s /opt/android-sdk-linux "${ANDROID_HOME}"; fi \ - && sdkmanager --version + && (sdkmanager --version || true) \ + && test -d "${ANDROID_HOME}/platforms" \ + && test -d "${ANDROID_HOME}/build-tools" \ + && test -d "${ANDROID_HOME}/platform-tools" RUN curl -fsSL https://deb.nodesource.com/setup_24.x | bash - \ && apt-get update \ && apt-get install -y --no-install-recommends nodejs \ && rm -rf /var/lib/apt/lists/* -RUN yes | sdkmanager --licenses >/dev/null || true \ - && sdkmanager \ - "platform-tools" \ - "platforms;android-35" \ - "build-tools;35.0.0" \ - "ndk;27.0.12077973" - RUN curl --proto '=https' --tlsv1.2 -fsSL https://sh.rustup.rs | sh -s -- -y --profile minimal \ && rustup target add aarch64-linux-android armv7-linux-androideabi i686-linux-android x86_64-linux-android diff --git a/tauri_app/docker/build-android-apk.sh b/tauri_app/docker/build-android-apk.sh index 1e7c12e..e8fb987 100644 --- a/tauri_app/docker/build-android-apk.sh +++ b/tauri_app/docker/build-android-apk.sh @@ -5,6 +5,24 @@ cd /workspace export VITE_API_URL="${VITE_API_URL:-${PUBLIC_API_URL:-http://localhost:3000}}" export VITE_FRONTEND_URL="${VITE_FRONTEND_URL:-${PUBLIC_FRONTEND_URL:-http://localhost:3002}}" +export ANDROID_HOME="${ANDROID_HOME:-/opt/android-sdk}" +export ANDROID_SDK_ROOT="${ANDROID_SDK_ROOT:-${ANDROID_HOME}}" + +if [ -z "${ANDROID_NDK_HOME:-}" ]; then + NDK_DIR="$(find "${ANDROID_HOME}/ndk" -mindepth 1 -maxdepth 1 -type d 2>/dev/null | sort -V | tail -n 1 || true)" + if [ -n "${NDK_DIR}" ]; then + export ANDROID_NDK_HOME="${NDK_DIR}" + export NDK_HOME="${NDK_DIR}" + fi +fi + +echo "==> Android SDK: ${ANDROID_HOME}" +echo "==> Android NDK: ${ANDROID_NDK_HOME:-не найден}" + +if [ -z "${ANDROID_NDK_HOME:-}" ] || [ ! -d "${ANDROID_NDK_HOME}" ]; then + echo "Android NDK не найден в ${ANDROID_HOME}/ndk. Используйте Android SDK image с предустановленным NDK или примонтируйте SDK с NDK." >&2 + exit 1 +fi mkdir -p /out