mirror of
https://github.com/luxwallet/android.git
synced 2026-10-30 20:26:11 +00:00
103 lines
2.8 KiB
Bash
Executable File
103 lines
2.8 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
function usage() {
|
|
echo "Usage: ./build-apk.sh [REPO-TAG] [FULL_PATH_TO_KEYSTORE] [KEYSTORE_PASSWORD]"
|
|
}
|
|
|
|
####################################
|
|
|
|
if [ "$#" -ne 3 ]; then
|
|
echo "Error! Illegal number of args."
|
|
usage
|
|
exit 1
|
|
fi
|
|
|
|
if [ -f "$2" ]; then
|
|
echo "Using keystore file: $2"
|
|
else
|
|
echo "Error ! Keystore: $2 not exists."
|
|
exit 1
|
|
fi
|
|
|
|
####################################
|
|
DOCKER_IMAGE="hsdao/android-release-build:java-17-update"
|
|
GIT_REPO="https://github.com/horizontalsystems/unstoppable-wallet-android"
|
|
WORK_DIR="$(mktemp -d)"
|
|
TAG=$1
|
|
|
|
KEYSTORE=$2
|
|
KEYSTORE_FILENAME="$(basename -- $KEYSTORE)"
|
|
KEYSTORE_PASSWORD=$3
|
|
BUILT_APK_FILE="app/build/outputs/apk/base/release/app-base-release.apk"
|
|
BUILT_APK_FILE_FDROID="app/build/outputs/apk/fdroid/release/app-fdroid-release-unsigned.apk"
|
|
####################################
|
|
|
|
function init() {
|
|
echo "DOCKER_IMAGE="${DOCKER_IMAGE}""
|
|
echo "GIT_REPO="${GIT_REPO}""
|
|
echo "WORK_DIR="${WORK_DIR}""
|
|
echo "TAG="${TAG}""
|
|
echo "BUILT_APK_FILE="${BUILT_APK_FILE}""
|
|
echo "BUILT_APK_FILE_FDROID="${BUILT_APK_FILE_FDROID}""
|
|
}
|
|
|
|
function gitClone () {
|
|
echo "Trying to clone version ${TAG} ..."
|
|
git clone --quiet --branch "${TAG}" --depth 1 ${GIT_REPO} "${WORK_DIR}" || exit 1
|
|
}
|
|
|
|
function buildApk () {
|
|
echo "Starting docker container ${DOCKER_IMAGE} ..."
|
|
echo "Building apk file ..."
|
|
|
|
docker run -it --volume "${WORK_DIR}:/mnt" --workdir /mnt ${DOCKER_IMAGE} bash -x -c \
|
|
'./gradlew :app:assembleBaseRelease --no-daemon'
|
|
docker run -it --volume "${WORK_DIR}:/mnt" --workdir /mnt ${DOCKER_IMAGE} bash -x -c \
|
|
'./gradlew :app:assembleFdroidRelease --no-daemon'
|
|
}
|
|
|
|
function signApk () {
|
|
echo "Signing apk with ${KEYSTORE} ... "
|
|
|
|
cp $KEYSTORE "${WORK_DIR}"
|
|
|
|
response=$(docker run -it --volume "${WORK_DIR}:/mnt" --workdir /mnt ${DOCKER_IMAGE} bash -x -c \
|
|
"apksigner sign --ks ${KEYSTORE_FILENAME} --ks-pass pass:${KEYSTORE_PASSWORD} ${BUILT_APK_FILE}")
|
|
|
|
echo $response
|
|
|
|
response2=$(docker run -it --volume "${WORK_DIR}:/mnt" --workdir /mnt ${DOCKER_IMAGE} bash -x -c \
|
|
"apksigner sign --ks ${KEYSTORE_FILENAME} --ks-pass pass:${KEYSTORE_PASSWORD} ${BUILT_APK_FILE_FDROID}")
|
|
|
|
echo $response2
|
|
|
|
rm "${WORK_DIR}/${KEYSTORE_FILENAME}"
|
|
}
|
|
|
|
function end () {
|
|
cp "${WORK_DIR}/${BUILT_APK_FILE}" "${PWD}/unstoppable_wallet_google_play_${TAG}.apk"
|
|
cp "${WORK_DIR}/${BUILT_APK_FILE_FDROID}" "${PWD}/unstoppable_wallet_github_${TAG}.apk"
|
|
}
|
|
|
|
#############################################
|
|
echo "Starting build revision:${TAG} ... "
|
|
|
|
echo "--------------------"
|
|
init
|
|
|
|
echo "--------------------"
|
|
gitClone
|
|
|
|
echo "--------------------"
|
|
buildApk
|
|
|
|
echo "--------------------"
|
|
signApk
|
|
|
|
echo "--------------------"
|
|
end
|
|
|
|
echo "--------------------"
|
|
echo "Successfully created apk !!! "
|
|
echo "--------END --------"
|