#! /bin/bash # Check dependencies command -v inkscape >/dev/null 2>&1 || { echo >&2 "I require inkscape but it's not installed. Aborting."; exit 1; } command -v scour >/dev/null 2>&1 || { echo >&2 "I require scour but it's not installed. Aborting."; exit 1; } command -v optipng >/dev/null 2>&1 || { echo >&2 "I require optipng but it's not installed. Aborting."; exit 1; } CURRENT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 && pwd)" BASE_DIR="$(dirname "${CURRENT_DIR}")" SOURCE="${CURRENT_DIR}/icon.svg" OPTIPNG_OPTIONS="-preserve -quiet -o7" # optimize svg cp ${SOURCE} ${SOURCE}.tmp scour \ --remove-descriptive-elements \ --enable-id-stripping \ --enable-viewboxing \ --enable-comment-stripping \ --nindent=4 \ -i ${SOURCE}.tmp \ -o ${SOURCE} rm ${SOURCE}.tmp # build icons function build_icon() { ICON_SIZE="$1" TARGET="$2" TARGET_PNG="${TARGET}.png" inkscape \ --export-width=${ICON_SIZE} \ --export-height=${ICON_SIZE} \ --export-filename=${TARGET_PNG} \ ${SOURCE} optipng ${OPTIPNG_OPTIONS} ${TARGET_PNG} } build_icon 72 ${BASE_DIR}/android/app/src/main/res/mipmap-hdpi/ic_launcher build_icon 48 ${BASE_DIR}/android/app/src/main/res/mipmap-mdpi/ic_launcher build_icon 96 ${BASE_DIR}/android/app/src/main/res/mipmap-xhdpi/ic_launcher build_icon 144 ${BASE_DIR}/android/app/src/main/res/mipmap-xxhdpi/ic_launcher build_icon 192 ${BASE_DIR}/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher