fix and update
This commit is contained in:
61
tauri_app/docker/patch-android-signing.sh
Normal file
61
tauri_app/docker/patch-android-signing.sh
Normal file
@@ -0,0 +1,61 @@
|
||||
#!/usr/bin/env bash
|
||||
# Подключает release-подпись APK через keystore.properties + Gradle script.
|
||||
set -euo pipefail
|
||||
|
||||
ANDROID_GEN="${1:-/workspace/tauri_app/src-tauri/gen/android}"
|
||||
SECRETS_DIR="${ANDROID_SECRETS_DIR:-/workspace/tauri_app/.secrets}"
|
||||
KEYSTORE_FILE="${ANDROID_KEYSTORE_FILE:-${SECRETS_DIR}/lendry-id-release.keystore}"
|
||||
APP_GRADLE="${ANDROID_GEN}/app/build.gradle.kts"
|
||||
KEYSTORE_PROPS="${ANDROID_GEN}/keystore.properties"
|
||||
SIGNING_SCRIPT="${ANDROID_GEN}/app/release-signing.gradle.kts"
|
||||
PROPS_TEMPLATE="${SECRETS_DIR}/keystore.properties.template"
|
||||
|
||||
if [[ ! -d "${ANDROID_GEN}" ]]; then
|
||||
echo "Android project not found: ${ANDROID_GEN}" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ ! -f "${KEYSTORE_FILE}" ]]; then
|
||||
echo "Keystore не найден: ${KEYSTORE_FILE}. Запустите ensure-android-keystore.sh" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ -f "${PROPS_TEMPLATE}" ]]; then
|
||||
cp "${PROPS_TEMPLATE}" "${KEYSTORE_PROPS}"
|
||||
else
|
||||
echo "keystore.properties.template не найден в ${SECRETS_DIR}" >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
chmod 600 "${KEYSTORE_PROPS}" || true
|
||||
|
||||
cat > "${SIGNING_SCRIPT}" <<'EOF'
|
||||
import com.android.build.api.dsl.ApplicationExtension
|
||||
import java.util.Properties
|
||||
|
||||
val keystoreProperties = Properties().apply {
|
||||
rootProject.file("keystore.properties").inputStream().use { load(it) }
|
||||
}
|
||||
|
||||
extensions.configure<ApplicationExtension>("android") {
|
||||
signingConfigs {
|
||||
create("release") {
|
||||
keyAlias = keystoreProperties.getProperty("keyAlias")
|
||||
keyPassword = keystoreProperties.getProperty("keyPassword")
|
||||
storeFile = rootProject.file(keystoreProperties.getProperty("storeFile"))
|
||||
storePassword = keystoreProperties.getProperty("storePassword")
|
||||
}
|
||||
}
|
||||
buildTypes {
|
||||
getByName("release") {
|
||||
signingConfig = signingConfigs.getByName("release")
|
||||
}
|
||||
}
|
||||
}
|
||||
EOF
|
||||
|
||||
if ! grep -q 'release-signing.gradle.kts' "${APP_GRADLE}"; then
|
||||
printf '\napply(from = "release-signing.gradle.kts")\n' >> "${APP_GRADLE}"
|
||||
fi
|
||||
|
||||
echo "==> Android release signing patched (${KEYSTORE_PROPS})"
|
||||
Reference in New Issue
Block a user