NativeScript / NativeScript/nativescript-cli

tns run/devices fails (w/ fix info)

Abierto
#4,508 2 comentarios 0 reacciones 1 asignado Ver en GitHub

@rosen-vladimirov ya está trabajando en esto.

Desde el 15/4/2019.

needs more info
Lenguaje dominante
JavaScript
Estrellas
1.1k
Forks
204
Merge medio
1 d 9 h
PR fusionados (30 d)
8

Descripción

Environment

  • CLI: 5.3.1

Describe the bug
After upgrading to the latest version of the Android Studio Emulator, Images, SDK; tns devices fails with the following error:

Connected devices & emulators
Searching for devices...
Cannot find connected devices. Reconnect any connected devices, verify that your system recognizes them, and run this command again.

tns run android fails with:

Searching for devices...
Cannot find connected devices.
Emulator start failed with: No emulator image available for device identifier 'undefined'.
To list currently connected devices and verify that the specified identifier exists, run 'tns device'.
To list available emulator images, run 'tns device <Platform> --available-devices'.

Doing a tns devices --log full gives me this:

spawn: /home/.../Android/Sdk/platform-tools/adb "devices"
Error while checking for devices. TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received type undefined
    at assertPath (path.js:39:11)
    at Object.join (path.js:1155:7)
    at AndroidVirtualDeviceService.<anonymous> (/usr/local/lib/node_modules/nativescript/lib/common/mobile/android/android-virtual-device-service.js:65:38)
    at Generator.next (<anonymous>)
    at fulfilled (/usr/local/lib/node_modules/nativescript/lib/common/mobile/android/android-virtual-device-service.js:10:58)
    at process._tickCallback (internal/process/next_tick.js:68:7)
Cannot find connected devices. Reconnect any connected devices, verify that your system recognizes them, and run this command again.
(node:14038) [DEP0079] DeprecationWarning: Custom inspection function on Objects via .inspect() is deprecated

Key line being: android-virtual-device-service.js:65

tns doctor shows no issues.
adb devices -- does show the running emulators properly...

To Reproduce
Upgrade to the latest sdk, tools:
image

Expected behavior
It actually works. 😀

Additional context
Setting the
ANDROID_AVD_HOME & ANDROID_SDK_ROOT fixes the issue. From what I can gather ANDROID_HOME is now depreciated... So this might need to be an added error in TNS doctor; and a warning here instead of throwing an error that is unhelpful...


ANDROID_SDK_ROOT should be the same value as ANDROID_HOME
ANDROID_AVD_HOME on my Linux machine ends up being /home/<USER_NAME>/.android/avd/
On mac, it will probably be /Users/<USER_NAME>/.android/avd/

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.