---
id: "62"
title: "gradle_run no detecta SDK en $HOME/android-sdk (donde lo deja install_android_sdk)"
status: pendiente
type: feature
domain:
  - dev-ux
scope: multi-app
priority: media
depends: []
blocks: []
related: []
created: 2026-05-10
updated: 2026-05-17
tags: [ausente-ready]
---

## 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

```bash
./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:

```bash
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`.
