80 lines
1.5 KiB
Bash
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" |