shell 如下:
#!/bin/sh
WORKSPACE=$1
FTPIP=$2
FTPPATH=$3
PKGLIST="$4"
EBUY=$5
SPASS=$6
KPASS=$7
FILENAME=$8
ftpUser=$9
ftpPass=${10}
[ $# -ne 10 ] && { echo "parameter numbers must be 8" ; exit 1 ; }
[[ "${WORKSPACE}" = "" ]] && { echo "WORKSPACE not set correctly" ; exit 1 ; }
[[ "${FTPIP}" = "" ]] && { echo "FTPIP not set correctly" ; exit 1 ; }
[[ "${FTPPATH}" = "" ]] && { echo "FTPPATH not set correctly" ; exit 1 ; }
[[ "${PKGLIST}" = "" ]] && { echo "PKGLIST not set correctly" ; exit 1 ; }
[[ "${EBUY}" = "" ]] && { echo "EBUY not set correctly" ; exit 1 ; }
[[ "${SPASS}" = "" ]] && { echo "SPASS not set correctly" ; exit 1 ; }
[[ "${KPASS}" = "" ]] && { echo "KPASS not set correctly" ; exit 1 ; }
[[ "${FILENAME}" = "" ]] && { echo "FILENAME not set correctly" ; exit 1 ; }
[[ "${ftpUser}" = "" ]] && { echo "ftpUser not set correctly" ; exit 1 ; }
[[ "${ftpPass}" = "" ]] && { echo "ftpPass not set correctly" ; exit 1 ; }
[ -d ${WORKSPACE} ] || { echo "${WORKSPACE} not exist" ; exit 1 ; }
<<EOT
echo $WORKSPACE
echo $FTPIP
echo $FTPPATH
echo $PKGLIST
echo $EBUY
echo $SPASS
echo $KPASS
echo $FILENAME
echo $ftpUser
echo $ftpPass
EOT
echo "------------------------------"
echo "goto get keyfile and sign apk."
ftpPass=$(echo ${ftpPass} | openssl enc -aes-128-cbc -a -d -pass pass:tecmint)
wget -q --ftp-user=${ftpUser} --ftp-password=${ftpPass} ftp://${FTPIP}/${FTPPATH} -O ${WORKSPACE}/${FILENAME}
[ $? -ne 0 ] && { echo "Get keystore file failed." ; exit 1 ; }
FILEPATH=$( echo ${PKGLIST} | sed 's/,/ /g' )
SPASS=$(echo ${SPASS} | openssl enc -aes-128-cbc -a -d -pass pass:tecmint)
KPASS=$(echo ${KPASS} | openssl enc -aes-128-cbc -a -d -pass pass:tecmint)
for path in ${FILEPATH}
do
for apk in ${WORKSPACE}/${path}
do
[[ ${apk} =~ "sign.apk" ]] && continue ;
sfile=$( echo ${apk} | sed 's/\.apk/sign.apk/g')
echo "signedApk:"
echo ${sfile}
echo "tosignApk:"
echo $apk
jarsigner -storepass ${SPASS} -keypass ${KPASS} -verbose -keystore ${WORKSPACE}/${FILENAME} -signedjar ${sfile} ${apk} ${EBUY} > /dev/null
rm -f ${apk}
done
done