NativeScript / NativeScript/nativescript-cli

Android remote emulator lose connection using ANDROID_ADB_SERVER_ADDRESS

Aperta
#5,504 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

os: android
Lingua principale
JavaScript
Stelle
1.1k
Fork
204
Merge medio
1g 9h
PR unite (30g)
8

Descrizione

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

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Direzione di ricerca

Inizia riproducendo il problema con ANDROID_ADB_SERVER_ADDRESS={VirtualMachineIP} ns run android --no-hmr e la configurazione del server adb remoto descritta sopra. Traccia la gestione dell’installazione, dei log e della connessione di debug da parte della Android CLI, prestando particolare attenzione alla porta localhost indicata. Il lavoro è completato quando un emulatore remoto può eseguire l’applicazione con funzionalità di debug e log senza timeout della connessione.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
android, javascript
Ambito
cli, mobile-dev, networking
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.