Files
fn_registry/dev/issues/0076-gradle_run-no-detecta-android-sdk-path.md
T

1.4 KiB

id, title, status, priority, created, related_functions
id title status priority created related_functions
0076 gradle_run no detecta SDK en $HOME/android-sdk (donde lo deja install_android_sdk) done medium 2026-05-10
gradle_run_bash_infra
install_android_sdk_bash_infra

Sintoma

gradle_run_bash_infra resuelve ANDROID_HOME con default $HOME/Android/Sdk. Pero install_android_sdk_bash_infra instala en $HOME/android-sdk (lowercase, distinto path). Resultado: aunque el usuario tiene SDK Linux instalado via la funcion del propio registry, gradle_run no lo encuentra.

Reproducir

./fn run install_android_sdk
ls $HOME/android-sdk/  # OK, contiene cmdline-tools, platforms, etc.

cd apps/<some_kt_app>
./fn run gradle_unit_test .
# falla porque ANDROID_HOME apunta a $HOME/Android/Sdk (no existe)

Fix propuesto

En bash/functions/infra/gradle_run.sh, anadir orden de busqueda:

if [[ -z "${ANDROID_HOME:-}" ]]; then
    for candidate in \
        "$HOME/android-sdk" \
        "$HOME/Android/Sdk" \
        "${ANDROID_SDK_WIN:-/mnt/c/Users/$USER/AppData/Local/Android/Sdk}"
    do
        if [[ -d "$candidate" && -d "$candidate/platform-tools" ]]; then
            ANDROID_HOME="$candidate"
            break
        fi
    done
fi

Tambien aplica a ANDROID_SDK_DIR para alinear con la funcion install.

Validacion

unset ANDROID_HOME && bash bash/functions/infra/gradle_run.sh apps/counter_kt :app:tasks debe corre OK con SDK en $HOME/android-sdk.