Files
assistant-android/scripts/packchn.sh

80 lines
1.5 KiB
Bash

#!/bin/bash
#CsHeng @2014.10.23
SOURCE=
OUTPUTDIR=
CHNNAMES=
NAME=
VERSION=
EXTENSION=
METADIR=
printUsage()
{
echo "USE DEFAULT VARIABLE"
# exit 1
}
setDefaultVar()
{
# default arguments for channel 0
[ -z ${VERSION} ] && VERSION=4.2.1_update
[ -z ${NAME} ] && NAME=ouwan
[ -z ${CHNNAMES} ] && CHNNAMES=400
# get current shell absolute dir
CWD=$(dirname $(readlink -f $0))
[ -z ${SOURCE} ] && SOURCE=${CWD}/../app/build/outputs/apk/app-release.apk
[ -z ${OUTPUTDIR} ] && OUTPUTDIR=${CWD}/..
[ -z ${EXTENSION} ] && EXTENSION=.nemoka
[ -z ${METADIR} ] && METADIR=META-INF
}
while getopts :s:o:c:n:v:e: OPTION
do
case ${OPTION} in
s)
SOURCE=$OPTARG
;;
o)
OUTPUTDIR=$OPTARG
;;
c)
CHNNAMES=$OPTARG
;;
n)
NAME=$OPTARG
;;
v)
VERSION=$OPTARG
;;
e)
EXTENSION=$OPTARG
;;
\?)
printUsage
;;
esac
done
setDefaultVar
${CWD}/../gradlew clean assembleRelease -x lint --parallel
mkdir -p ${METADIR}
mkdir -p ${OUTPUTDIR}
# spilt $CHNNAMES to array
IFS=',' read -ra CHNARRAY <<< ${CHNNAMES}
for i in ${CHNARRAY[@]}
do
DESTAPK=${OUTPUTDIR}/${NAME}_${VERSION}_${i}.apk
CHNFILE=${METADIR}/$(echo ${i} | base64)${EXTENSION}
touch ${CHNFILE}
cp ${SOURCE} ${DESTAPK}
echo Compressed ${CHNFILE} to ${DESTAPK}
zip -q -m ${DESTAPK} ${CHNFILE}
done
rm -r ${METADIR}
echo "done"