Solucionar error: Android NDK: Unable to determine HOST_OS from uname -s:

Si trabajas con Android Studio en Windows y utilizas NDK en el proyecto, puede que te hayas encontrado este error al compilar:

Android NDK: Unable to determine HOST_OS from uname -s:     
Android NDK: Please define HOST_OS in your environment.

Según indica, parece que no encuentra la variable HOST_OS necesaria para lanzar un script CMD de NDK.

NDK es el kit de herramienta de desarrollo nativo que te permite utilizar código C y C++ con Android.

Esta es la traza completa del error:

[CXX1405] error when building with ndkBuild using C:\MiProyectoAndroid\android\app\src\main\jni\Android.mk: Build command failed.
Error while executing process C:\Users\MiUsuario\AppData\Local\Android\Sdk\ndk\21.4.7075529\ndk-build.cmd with arguments {NDK_PROJECT_PATH=null APP_BUILD_SCRIPT=C:\MiProyectoAndroid\android\app\src\main\jni\Android.mk NDK_APPLICATION_MK=C:\MiProyectoAndroid\android\app\src\main\jni\Application.mk APP_ABI=arm64-v8a NDK_ALL_ABIS=arm64-v8a NDK_DEBUG=1 APP_PLATFORM=android-21 NDK_OUT=C:\MiProyectoAndroid\android\app\build\intermediates\cxx\Debug\514n61s1/obj NDK_LIBS_OUT=C:\MiProyectoAndroid\android\app\build\intermediates\cxx\Debug\514n61s1/lib APP_SHORT_COMMANDS=false LOCAL_SHORT_COMMANDS=false -B -n}

Android NDK: Unable to determine HOST_OS from uname -s:     
Android NDK: Please define HOST_OS in your environment.    

process_begin: CreateProcess(NULL, uname -s, ...) failed.
make: C:/Users/MiUsuario/AppData/Local/Android/Sdk/ndk/21.4.7075529/build//../build/core/init.mk:144: pipe: No error
C:/Users/MiUsuario/AppData/Local/Android/Sdk/ndk/21.4.7075529/build//../build/core/init.mk:158: *** Android NDK: Aborting.    .  Stop.

Navegando por internet, vi que un usuario había publicado este problema en Stackoverflow y respondía él mismo con la solución. La probé pero a mí no me funcionó.

Finalmente, tras dedicarle unas cuantas horas a ver exactamente cual era el problema, di con una solución bastante simple: definir la variable HOST_OS en el archivo .cmd que ejecuta Android Studio para lanzar NDK.

Para ello, abre en el explorador de archivos la ruta donde está instalado NDK. Esta la puedes sacar del mensaje de error, en mi caso es esta: C:/Users/MiUsuario/AppData/Local/Android/Sdk/ndk/21.4.7075529.

Ahora entra en la carpeta build y abre el archivo ndk-build.cmd con un editor de texto. Yo suelo usar Notepad++.

Añade al archivo la línea marcada y guarda los cambios.

👉  Bulk Pinterest Pinner - Sube imágenes a Pinterest en masa
Añadir variable HOST_OS al archivo ndk-build.cmd para solucionar

Ya está. Si vuelves a compilar el proyecto, verás que el error ya ha desaparecido y todo compila correctamente.

¡OJO! Si tienes varias versiones de NDK, deberás editar el archivo ndk-build.cmd correspondiente a la versión que estés utilizando. Viendo la ruta indicada en el error te aseguras de saber qué versión se está usando.

Si mañana pasas a usar otra versión de NDK, el problema volverá a surgir (si no lo han corregido) y tendrás que editar el archivo ndk-build.cmd correspondiente a esa versión.

👇Tu comentario