#!/bin/bash set -e CONTRIB_ANDROID="$(dirname "$(readlink -e "$0")")" CONTRIB="$CONTRIB_ANDROID"/.. PROJECT_ROOT="$CONTRIB"/.. PACKAGES="$PROJECT_ROOT"/packages/ LOCALE="$PROJECT_ROOT"/electrum/locale/ . "$CONTRIB"/build_tools_util.sh if [ ! -d "$PACKAGES" ]; then "$CONTRIB"/make_packages || fail "make_packages failed" fi pushd "$PROJECT_ROOT" git submodule update --init popd # update locale info "preparing electrum-locale." ( cd "$CONTRIB"/deterministic-build/electrum-locale if ! which msgfmt > /dev/null 2>&1; then fail "Please install gettext" fi # we want the binary to have only compiled (.mo) locale files; not source (.po) files rm -rf "$PROJECT_ROOT/electrum/locale/" for i in ./locale/*; do dir="$PROJECT_ROOT/electrum/$i/LC_MESSAGES" mkdir -p $dir msgfmt --output-file="$dir/electrum.mo" "$i/electrum.po" || true done ) pushd "$CONTRIB_ANDROID" info "apk building phase starts." if [[ -n "$1" && "$1" == "release" ]] ; then # do release build, and sign the APKs. echo -n Keystore Password: read -s password export P4A_RELEASE_KEYSTORE=~/.keystore export P4A_RELEASE_KEYSTORE_PASSWD=$password export P4A_RELEASE_KEYALIAS_PASSWD=$password export P4A_RELEASE_KEYALIAS=electrum # build two apks export APP_ANDROID_ARCH=armeabi-v7a make release export APP_ANDROID_ARCH=arm64-v8a make release elif [[ -n "$1" && "$1" == "release-unsigned" ]] ; then # do release build, but do not sign the APKs. # build two apks export APP_ANDROID_ARCH=armeabi-v7a make release export APP_ANDROID_ARCH=arm64-v8a make release else # do debug build; the default. export P4A_DEBUG_KEYSTORE="$CONTRIB_ANDROID"/android_debug.keystore export P4A_DEBUG_KEYSTORE_PASSWD=unsafepassword export P4A_DEBUG_KEYALIAS_PASSWD=unsafepassword export P4A_DEBUG_KEYALIAS=electrum # create keystore if needed if [ ! -f "$P4A_DEBUG_KEYSTORE" ]; then keytool -genkey -v -keystore "$CONTRIB_ANDROID"/android_debug.keystore \ -alias "$P4A_DEBUG_KEYALIAS" -keyalg RSA -keysize 2048 -validity 10000 \ -dname "CN=mqttserver.ibm.com, OU=ID, O=IBM, L=Hursley, S=Hants, C=GB" \ -storepass "$P4A_DEBUG_KEYSTORE_PASSWD" \ -keypass "$P4A_DEBUG_KEYALIAS_PASSWD" fi # only build one apk for debug build, for faster testing iterations export APP_ANDROID_ARCH=arm64-v8a make apk # export APP_ANDROID_ARCH=armeabi-v7a # make apk fi popd info "done." ls -la "$PROJECT_ROOT/dist" sha256sum "$PROJECT_ROOT/dist"/*