fad4006f60
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1.5 KiB
1.5 KiB
id, title, status, type, domain, scope, priority, depends, blocks, related, created, updated, tags
| id | title | status | type | domain | scope | priority | depends | blocks | related | created | updated | tags | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 62 | gradle_run no detecta SDK en $HOME/android-sdk (donde lo deja install_android_sdk) | pendiente | feature |
|
multi-app | media | 2026-05-10 | 2026-05-17 |
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.