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

57 lines
1.5 KiB
Markdown

---
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: []
---
## 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`.