YrXtals/scripts/android/install.sh

31 lines
893 B
Bash
Executable File

#!/usr/bin/env bash
# builds and installs the apk to the saved or specified device serial.
set -euo pipefail
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
source "$SCRIPT_DIR/_env.sh"
REPO_ROOT="$(cd "$SCRIPT_DIR/../.." && pwd)"
GRADLE_TYPE="${1:-release}"
"$SCRIPT_DIR/build.sh" "$GRADLE_TYPE"
if [[ -z "${ANDROID_TARGET:-}" ]]; then
echo "no device selected. run cargo xtask select-android first." >&2
exit 2
fi
case "$GRADLE_TYPE" in
debug) APK_VARIANT_DIR="debug" ;;
release) APK_VARIANT_DIR="release" ;;
release-debug) APK_VARIANT_DIR="releaseDebug" ;;
esac
APK="$(find "$REPO_ROOT/android/app/build/outputs/apk/$APK_VARIANT_DIR" -name '*.apk' | head -1)"
if [[ -z "$APK" ]]; then
echo "no apk built at $APK_VARIANT_DIR." >&2; exit 1
fi
echo "→ adb -s $ANDROID_TARGET install -r $APK"
adb -s "$ANDROID_TARGET" install -r "$APK"