| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #!/usr/bin/env bash
- set -euo pipefail
- cd "$(dirname "$0")/.."
- MODE="${1:-debug}"
- if [[ "$MODE" != "debug" && "$MODE" != "release" ]]; then
- echo "Usage: $0 [debug|release]" >&2
- exit 2
- fi
- export JAVA_HOME="${JAVA_HOME:-/usr/lib/jvm/java-21-openjdk}"
- if [[ ! -x "$JAVA_HOME/bin/java" ]]; then
- echo "JDK 21 not found at $JAVA_HOME" >&2
- exit 1
- fi
- SDK="${ANDROID_HOME:-/opt/android-sdk}"
- ADB="$SDK/platform-tools/adb"
- PACKAGE="com.wasp.cardash_launcher"
- echo "==> Building $MODE APK"
- flutter build apk "--$MODE"
- APK="build/app/outputs/flutter-apk/app-$MODE.apk"
- if [[ ! -f "$APK" ]]; then
- echo "APK not found at $APK" >&2
- exit 1
- fi
- if ! "$ADB" devices | grep -q "device$"; then
- echo "No Android device/emulator connected. Start one with ./tool/emulator.sh 35" >&2
- exit 1
- fi
- echo "==> Installing $APK"
- "$ADB" install -r "$APK"
- echo "==> Ensuring CarDash is the HOME app"
- if ! "$ADB" shell cmd role add-role-holder android.app.role.HOME "$PACKAGE" >/dev/null 2>&1; then
- echo "Role manager command was unavailable; open Settings > General > Home app in CarDash."
- fi
- echo "==> Starting CarDash"
- "$ADB" shell am start -a android.intent.action.MAIN -c android.intent.category.HOME >/dev/null
- echo "Installed and started $PACKAGE"
|