#!/usr/bin/env bash set -euo pipefail cd /workspace # Настройки export ANDROID_HOME="${ANDROID_HOME:-/opt/android-sdk}" export ANDROID_GRADLE_PLUGIN_VERSION="${ANDROID_GRADLE_PLUGIN_VERSION:-8.3.2}" # Поиск NDK 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)" [ -n "${NDK_DIR}" ] && export ANDROID_NDK_HOME="${NDK_DIR}" fi mkdir -p /out echo "==> Сборка web-части..." npm --workspace @lendry/tauri-app run build cd /workspace/tauri_app # Очистка и инициализация [ -d "src-tauri/gen/android" ] && rm -rf src-tauri/gen/android echo "==> Инициализация..." npm run android:init -- --ci # --- ДИАГНОСТИКА: Посмотрим, что внутри файлов --- echo "==> Содержимое файлов gradle перед патчингом:" find src-tauri/gen/android -name "libs.versions.toml" -o -name "build.gradle" -o -name "build.gradle.kts" | xargs grep -H "8.11.0" || echo "Версия 8.11.0 не найдена через grep!" # --- ПАТЧИНГ: Более агрессивный метод --- echo "==> Принудительный патчинг..." # Заменяем вообще все вхождения 8.11.0 на 8.3.2 во всех файлах gradle/toml find src-tauri/gen/android -type f \( -name "*.gradle" -o -name "*.gradle.kts" -o -name "*.toml" \) -print0 | \ xargs -0 sed -i "s/8.11.0/${ANDROID_GRADLE_PLUGIN_VERSION}/g" # Проверка результата echo "==> Содержимое файлов после патчинга:" find src-tauri/gen/android -name "libs.versions.toml" -o -name "build.gradle" -o -name "build.gradle.kts" | xargs grep -H "${ANDROID_GRADLE_PLUGIN_VERSION}" || echo "Патчинг не сработал!" # Сборка echo "==> Сборка APK..." npm run tauri -- android build --apk APK_PATH="$(find /workspace/tauri_app/src-tauri/gen/android -type f -name '*.apk' | sort | tail -n 1 || true)" [ -f "${APK_PATH}" ] && cp "${APK_PATH}" /out/lendry-id.apk || exit 1 echo "==> Готово." echo "==> APK успешно собран: /out/lendry-id.apk" ls -lh /out/lendry-id.apk