From 2133b4bdbf4deb217ee6b637e7aec9d5e3f65247 Mon Sep 17 00:00:00 2001 From: Sergii Pylypenko Date: Wed, 26 Feb 2020 20:21:46 +0200 Subject: [PATCH] SDL: after many many years, you can specify keystore password in ANDROID_KEYSTORE_PASS env variable to automate your signing --- sign.sh | 5 ++++- signBundle.sh | 7 ++++--- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/sign.sh b/sign.sh index a1c48627b..1796e0ac6 100755 --- a/sign.sh +++ b/sign.sh @@ -2,6 +2,9 @@ # Set path to your Android keystore and your keystore alias here, or put them in your environment [ -z "$ANDROID_KEYSTORE_FILE" ] && ANDROID_KEYSTORE_FILE=~/.android/debug.keystore [ -z "$ANDROID_KEYSTORE_ALIAS" ] && ANDROID_KEYSTORE_ALIAS=androiddebugkey +PASS= +[ -n "$ANDROID_KEYSTORE_PASS" ] && PASS="--ks-pass env:ANDROID_KEYSTORE_PASS" +[ -n "$ANDROID_KEYSTORE_PASS_FILE" ] && PASS="--ks-pass file:$ANDROID_KEYSTORE_PASS_FILE" APPNAME=`grep AppName AndroidAppSettings.cfg | sed 's/.*=//' | tr -d '"' | tr " '/" '---'` APPVER=`grep AppVersionName AndroidAppSettings.cfg | sed 's/.*=//' | tr -d '"' | tr " '/" '---'` @@ -18,6 +21,6 @@ zipalign 4 Signed.apk ../../../../../../$APPNAME-$APPVER.apk rm -f Signed.apk echo Using keystore $ANDROID_KEYSTORE_FILE and alias $ANDROID_KEYSTORE_ALIAS stty -echo -apksigner sign --ks $ANDROID_KEYSTORE_FILE --ks-key-alias $ANDROID_KEYSTORE_ALIAS ../../../../../../$APPNAME-$APPVER.apk || exit 1 +apksigner sign --ks $ANDROID_KEYSTORE_FILE --ks-key-alias $ANDROID_KEYSTORE_ALIAS $PASS ../../../../../../$APPNAME-$APPVER.apk || exit 1 stty echo echo diff --git a/signBundle.sh b/signBundle.sh index 60aae3663..6ba0f336d 100755 --- a/signBundle.sh +++ b/signBundle.sh @@ -1,7 +1,8 @@ #!/bin/sh # Set path to your Android keystore and your keystore alias here, or put them in your environment -[ -z "$ANDROID_KEYSTORE_FILE" ] && ANDROID_KEYSTORE_FILE=~/.android/debug.keystore -[ -z "$ANDROID_KEYSTORE_ALIAS" ] && ANDROID_KEYSTORE_ALIAS=androiddebugkey +PASS= +[ -n "$ANDROID_UPLOAD_KEYSTORE_PASS" ] && PASS="-storepass:env ANDROID_UPLOAD_KEYSTORE_PASS" +[ -n "$ANDROID_UPLOAD_KEYSTORE_PASS_FILE" ] && PASS="-storepass:file $ANDROID_UPLOAD_KEYSTORE_PASS_FILE" APPNAME=`grep AppName AndroidAppSettings.cfg | sed 's/.*=//' | tr -d '"' | tr " '/" '---'` APPVER=`grep AppVersionName AndroidAppSettings.cfg | sed 's/.*=//' | tr -d '"' | tr " '/" '---'` @@ -19,6 +20,6 @@ cp -f app.aab ../../../../../../$APPNAME-$APPVER.aab || exit 1 # Sign with the new certificate echo Using keystore $ANDROID_UPLOAD_KEYSTORE_FILE and alias $ANDROID_UPLOAD_KEYSTORE_ALIAS stty -echo -jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore $ANDROID_UPLOAD_KEYSTORE_FILE ../../../../../../$APPNAME-$APPVER.aab $ANDROID_UPLOAD_KEYSTORE_ALIAS || exit 1 +jarsigner -verbose -sigalg SHA1withRSA -digestalg SHA1 -keystore $ANDROID_UPLOAD_KEYSTORE_FILE $PASS ../../../../../../$APPNAME-$APPVER.aab $ANDROID_UPLOAD_KEYSTORE_ALIAS || exit 1 stty echo echo