#!/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"