Skip to content

Commit dbc8a0a

Browse files
committed
android shell
1 parent d2cb2c5 commit dbc8a0a

1 file changed

Lines changed: 22 additions & 21 deletions

File tree

scripts/android-env.sh

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,58 @@
1-
#!/usr/bin/env bash
1+
#!/usr/bin/env sh
22
# Sets ANDROID_SDK_ROOT/ANDROID_HOME and PATH to the flake-pinned SDK if not already set.
33

44
# Only act if neither var is already provided.
5-
if [[ -z "${ANDROID_SDK_ROOT:-}" && -z "${ANDROID_HOME:-}" ]]; then
5+
if [ -z "${ANDROID_SDK_ROOT:-}" ] && [ -z "${ANDROID_HOME:-}" ]; then
66
DEVBOX_SDK_OUT=$(
77
nix --extra-experimental-features 'nix-command flakes' \
88
eval --raw "path:${DEVBOX_PROJECT_ROOT}/nix#android-sdk.outPath" 2>/dev/null || true
99
)
10-
if [[ -n "${DEVBOX_SDK_OUT:-}" && -d "$DEVBOX_SDK_OUT/libexec/android-sdk" ]]; then
10+
if [ -n "${DEVBOX_SDK_OUT:-}" ] && [ -d "$DEVBOX_SDK_OUT/libexec/android-sdk" ]; then
1111
ANDROID_SDK_ROOT="$DEVBOX_SDK_OUT/libexec/android-sdk"
1212
ANDROID_HOME="$ANDROID_SDK_ROOT"
1313
fi
1414
fi
1515

16-
if [[ -z "${ANDROID_SDK_ROOT:-}" && -n "${ANDROID_HOME:-}" ]]; then
16+
if [ -z "${ANDROID_SDK_ROOT:-}" ] && [ -n "${ANDROID_HOME:-}" ]; then
1717
ANDROID_SDK_ROOT="$ANDROID_HOME"
1818
fi
1919

20-
if [[ -n "${ANDROID_SDK_ROOT:-}" && -z "${ANDROID_HOME:-}" ]]; then
20+
if [ -n "${ANDROID_SDK_ROOT:-}" ] && [ -z "${ANDROID_HOME:-}" ]; then
2121
ANDROID_HOME="$ANDROID_SDK_ROOT"
2222
fi
2323

2424
export ANDROID_SDK_ROOT ANDROID_HOME
2525

26-
if [[ -n "${ANDROID_SDK_ROOT:-}" ]]; then
26+
if [ -n "${ANDROID_SDK_ROOT:-}" ]; then
2727
# Prefer cmdline-tools;latest, or fall back to the highest numbered cmdline-tools folder.
2828
cmdline_tools_bin=""
29-
if [[ -d "$ANDROID_SDK_ROOT/cmdline-tools/latest/bin" ]]; then
29+
if [ -d "$ANDROID_SDK_ROOT/cmdline-tools/latest/bin" ]; then
3030
cmdline_tools_bin="$ANDROID_SDK_ROOT/cmdline-tools/latest/bin"
3131
else
3232
cmdline_tools_dir=$(find "$ANDROID_SDK_ROOT/cmdline-tools" -maxdepth 1 -mindepth 1 -type d -not -name latest 2>/dev/null | sort -V | tail -n 1)
33-
if [[ -n "${cmdline_tools_dir:-}" && -d "$cmdline_tools_dir/bin" ]]; then
33+
if [ -n "${cmdline_tools_dir:-}" ] && [ -d "$cmdline_tools_dir/bin" ]; then
3434
cmdline_tools_bin="$cmdline_tools_dir/bin"
3535
fi
3636
fi
3737

38-
new_path=(
39-
"$ANDROID_SDK_ROOT/emulator"
40-
"$ANDROID_SDK_ROOT/platform-tools"
41-
)
38+
new_path="$ANDROID_SDK_ROOT/emulator:$ANDROID_SDK_ROOT/platform-tools"
4239

43-
if [[ -n "${cmdline_tools_bin:-}" ]]; then
44-
new_path+=("$cmdline_tools_bin")
40+
if [ -n "${cmdline_tools_bin:-}" ]; then
41+
new_path="$new_path:$cmdline_tools_bin"
4542
fi
4643

47-
new_path+=("$ANDROID_SDK_ROOT/tools/bin" "$PATH")
48-
export PATH="$(IFS=:; echo "${new_path[*]}")"
44+
new_path="$new_path:$ANDROID_SDK_ROOT/tools/bin:$PATH"
45+
PATH="$new_path"
46+
export PATH
4947
echo "Using Android SDK: $ANDROID_SDK_ROOT"
50-
if [[ "${ANDROID_SDK_ROOT}" == /nix/store/* ]]; then
51-
echo "Source: Nix flake (reproducible, pinned). To use your local SDK instead, set ANDROID_HOME/ANDROID_SDK_ROOT before starting devbox shell."
52-
else
53-
echo "Source: User/local SDK. To use the pinned Nix SDK, unset ANDROID_HOME/ANDROID_SDK_ROOT before starting devbox shell."
54-
fi
48+
case "$ANDROID_SDK_ROOT" in
49+
/nix/store/*)
50+
echo "Source: Nix flake (reproducible, pinned). To use your local SDK instead, set ANDROID_HOME/ANDROID_SDK_ROOT before starting devbox shell."
51+
;;
52+
*)
53+
echo "Source: User/local SDK. To use the pinned Nix SDK, unset ANDROID_HOME/ANDROID_SDK_ROOT before starting devbox shell."
54+
;;
55+
esac
5556
else
5657
echo "Android SDK not set; using system PATH"
5758
fi

0 commit comments

Comments
 (0)