From 32d9a10fbf9a0dbee181a5c50d25ee4a14971302 Mon Sep 17 00:00:00 2001 From: Peter Siegmund Date: Wed, 21 Jan 2015 16:02:58 +0100 Subject: [PATCH] APK signing - needs testing with Java 1.6, 1.7 and 1.8 - jarsigner has changed and can produce errors --- configuration/sign_apps.sh | 59 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100755 configuration/sign_apps.sh diff --git a/configuration/sign_apps.sh b/configuration/sign_apps.sh new file mode 100755 index 00000000000..2b652d8c052 --- /dev/null +++ b/configuration/sign_apps.sh @@ -0,0 +1,59 @@ +#!/bin/sh + +find_project_home () +{ + if [[ "$1" == '/' ]] || [[ "$1" == "" ]]; then + echo "" + return 0 + fi + + if [ ! -d "$1/.git" ]; then + PARENT_DIR="`cd "$1/..";pwd`" + OUTPUT=$(find_project_home "$PARENT_DIR") + + if [ "$OUTPUT" = "" ] && [ -d "$PARENT_DIR/$CODE_DIRECTORY" ] && [ -d "$PARENT_DIR/$CODE_DIRECTORY/.git" ]; then + OUTPUT="$PARENT_DIR/$CODE_DIRECTORY" + fi + echo $OUTPUT + return 0 + fi + + echo $1 | sed -e 's/\/cygdrive\/\([a-zA-Z]\)/\1:/' +} + +sign_apk() +{ + ALIAS=$1 + PROJECT_NAME=$2 + PROJECT_UNALIGNED=$PROJECT_NAME-unaligned.apk + + cd $PROJECT_HOME/mobile/$PROJECT_NAME/build/outputs/apk + rm $PROJECT_NAME.apk + cp $PROJECT_NAME-release-unsigned.apk $PROJECT_UNALIGNED + + jarsigner -verbose -tsa -sigalg SHA1withRSA -digestalg SHA1 -keystore $PROJECT_HOME/mobile/android-keystore/STG.jks $PROJECT_UNALIGNED $ALIAS + $ANDROID_HOME/build-tools/$BUILD_TOOLS/zipalign -v 4 $PROJECT_UNALIGNED $PROJECT_NAME.apk +} + +if [ $# -eq 0 ]; then + echo "Usage: $0 " + exit 2 +fi + +# this holds for default installation +BUILD_TOOLS="21.1.2" +USER_HOME=~ +START_DIR="`pwd`" + +if [ "$PROJECT_HOME" = "" ]; then + PROJECT_HOME=$(find_project_home "$START_DIR") +fi + +# if project_home is still empty we could not determine any suitable directory +if [[ "$PROJECT_HOME" == "" ]]; then + echo "Could neither determine nor get PROJECT_HOME. Please provide it by setting an environment variable with this name." + exit 1 +fi + +sign_apk $1 com.sap.sailing.android.tracking.app +sign_apk $1 com.sap.sailing.racecommittee.app