You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
86 lines
2.6 KiB
86 lines
2.6 KiB
#!/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"/*
|
|
|