NativeScript / NativeScript/nativescript-cli

Android remote emulator lose connection using ANDROID_ADB_SERVER_ADDRESS

Aberta
#5,504 1 comentário 0 reações 0 responsáveis Ver no GitHub

Ninguém assumiu esta issue ainda.

os: android
Linguagem predominante
JavaScript
Estrelas
1.1k
Forks
204
Merge médio
1d 9h
PRs com merge (30d)
8

Descrição

Environment
Component nativescript has 7.2.0 version and is up to date.
✔ Component @nativescript/core has 7.2.1 version and is up to date.
✔ Component @nativescript/ios has 7.2.0 version and is up to date.
✔ Component @nativescript/android has 7.0.1 version and is up to date.

Describe the bug
The use of the command for running on a remote Android emulator (in my case a Virtualbox with Ubuntu 20.04.1 and Android SDK and emulator running) as follows:

$ ANDROID_ADB_SERVER_ADDRESS={VirtualMachineIP} ns run android --no-hmr

The application is installed and has run successfully but the CLI command seems to timeout when trying to connect to the application log with the error:

Installing on device emulator-5554...
Successfully installed on device with identifier 'emulator-5554'.
Unable to apply changes on device: emulator-5554. Error is: connect ECONNREFUSED 127.0.0.1:51258.

Seems like NativeScript is trying to connect to a port in the local machine ignoring the ANDROID_ADB_SERVER_ADDRESS IP address

To Reproduce

  • Create an Ubuntu virtual machine with android SDK on a VirtualBox or similar on a Mac OS host machine
  • create an Android emulator and run it
  • in the virtual machine OS (Ubuntu in this case) terminal run adb -a -P 5037 nodaemon server
  • in the host machine (Mac OS in my case) execute an android application with the NativeScript CLI ANDROID_ADB_SERVER_ADDRESS={VirtualMachineIP} ns run android --no-hmr

Expected behavior
Running an Android application in a remote machine as normal as in host machine with debug and log capabilities.

Additional context
The virtual machine should have bridged adapter configured, I don't know if NAT is also working

Guia de contribuição

Abrir o guia de contribuição

Primeiros passos

  1. Leia a issue inteira e depois o guia de contribuição do projeto.
  2. Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
  3. Faça um fork do repositório e trabalhe em uma branch.
  4. Abra um pull request que referencie o número da issue.

Direção de pesquisa

Comece reproduzindo o problema com ANDROID_ADB_SERVER_ADDRESS={VirtualMachineIP} ns run android --no-hmr e a configuração do servidor adb remoto descrita acima. Rastreie o tratamento da instalação, dos logs e da conexão de debug pela Android CLI, prestando atenção especial à porta localhost informada. O trabalho estará concluído quando um emulador remoto puder executar o aplicativo com recursos de debug e logs sem que ocorra timeout na conexão.

Escrita pelo modelo de indexação a partir do texto da issue.

Avaliação

Stack de tecnologia
android, javascript
Domínio
cli, mobile-dev, networking
Tipo de issue
Bug
Dificuldade
4/5
Tempo estimado
3-5 dias
Status de atividade
Estagnada
Clareza
Razoavelmente clara
Facilidade para iniciantes
35/100

Receba novas issues na sua caixa de entrada

Um resumo curto de issues do GitHub para quem está começando.