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"/*
|
|
|