Android: debug-подпись release при отсутствии keystore

build.gradle падал packageRelease (нет key.properties -> storeFile null).
Патчим: signingConfig = key.properties есть ? release : debug. APK ставится
для теста; свой keystore (key.properties) подпишет для раздачи.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-14 18:55:51 +03:00
parent 9c615346c5
commit 73479acc30
+7
View File
@@ -77,6 +77,13 @@ mkdir -p "$JNI"
cp ./target/aarch64-linux-android/release/liblibrustdesk.so "$JNI/librustdesk.so"
cp "$ANDROID_NDK_HOME/toolchains/llvm/prebuilt/linux-x86_64/sysroot/usr/lib/aarch64-linux-android/libc++_shared.so" "$JNI/"
# --- подпись: без key.properties (keystore Глеба) release подписываем DEBUG-ключом ---
# (APK ставится для теста; преднастройка от подписи не зависит — она в librustdesk.so).
# Дашь свой keystore -> положи flutter/android/key.properties, тогда подпишется им (для раздачи/F-Droid).
if ! grep -q 'keystorePropertiesFile.exists() ? signingConfigs.release' flutter/android/app/build.gradle; then
sed -i 's|signingConfig signingConfigs.release|signingConfig keystorePropertiesFile.exists() ? signingConfigs.release : signingConfigs.debug|' flutter/android/app/build.gradle
fi
# --- APK ---
# Gradle 7.6.4 не совместим с Java 21 (дефолт VM) -> используем Java 17 (как RustDesk CI).
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64