#!/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"