VIP loop (circle → extract → Translate/Copy/Explain/Share/Vikunja), lasso branding, ship docs, unit tests, and make smoke / launchd emu helpers.
53 lines
1.8 KiB
Bash
Executable File
53 lines
1.8 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Start CrklEmulator via launchd so qemu survives Cursor/agent sandboxes on macOS.
|
|
set -euo pipefail
|
|
|
|
BREW_PREFIX="$(brew --prefix 2>/dev/null || echo /opt/homebrew)"
|
|
ANDROID_HOME="${ANDROID_HOME:-$BREW_PREFIX/share/android-commandlinetools}"
|
|
AVD_NAME="${AVD_NAME:-CrklEmulator}"
|
|
GPU="${EMULATOR_GPU:-host}"
|
|
LABEL=com.crkl.emulator
|
|
PLIST="/tmp/${LABEL}.plist"
|
|
UID_NUM="$(id -u)"
|
|
|
|
pkill -f 'qemu-system' >/dev/null 2>&1 || true
|
|
launchctl bootout "gui/${UID_NUM}/${LABEL}" >/dev/null 2>&1 || true
|
|
sleep 1
|
|
: >/tmp/crkl-emulator.log
|
|
|
|
cat >"$PLIST" <<EOF
|
|
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
<plist version="1.0">
|
|
<dict>
|
|
<key>Label</key><string>${LABEL}</string>
|
|
<key>ProgramArguments</key>
|
|
<array>
|
|
<string>${ANDROID_HOME}/emulator/emulator</string>
|
|
<string>-avd</string><string>${AVD_NAME}</string>
|
|
<string>-memory</string><string>3072</string>
|
|
<string>-cores</string><string>4</string>
|
|
<string>-no-audio</string>
|
|
<string>-gpu</string><string>${GPU}</string>
|
|
<string>-accel</string><string>on</string>
|
|
<string>-no-snapshot-load</string>
|
|
<string>-grpc</string><string>8554</string>
|
|
<string>-no-metrics</string>
|
|
</array>
|
|
<key>EnvironmentVariables</key>
|
|
<dict>
|
|
<key>ANDROID_HOME</key><string>${ANDROID_HOME}</string>
|
|
<key>PATH</key>
|
|
<string>${ANDROID_HOME}/emulator:${ANDROID_HOME}/platform-tools:/usr/bin:/bin</string>
|
|
</dict>
|
|
<key>StandardOutPath</key><string>/tmp/crkl-emulator.log</string>
|
|
<key>StandardErrorPath</key><string>/tmp/crkl-emulator.log</string>
|
|
<key>RunAtLoad</key><true/>
|
|
</dict>
|
|
</plist>
|
|
EOF
|
|
|
|
launchctl bootstrap "gui/${UID_NUM}" "$PLIST"
|
|
launchctl kickstart -k "gui/${UID_NUM}/${LABEL}"
|
|
echo "Emulator launchd job ${LABEL} started (log: /tmp/crkl-emulator.log)"
|