Use o ADB com o Genymotion da VM linux simultânea

0

Eu tenho uma VM linux e uma VM genymotion no meu host. Ambos têm a mesma configuração de rede (eu configuro eu mesmo), que é:

Adapter 1:
  Attached-To: Host-only adapter
  Name: VirtualBox Host-Only Ethernet Adapter
  Advanced:
    Promiscuous Mode: Deny
    Cable connected: yes

Adapter 2:
  Attached-To: NAT
  Advanced:
    Cable connected: yes

Adapter 3:
  Attached-To: Bridged Adapter
  Name: Realtek PCIe GBE Family Controller
  Advanced:
    Promiscuous Mode: Deny
    Cable connected: yes

Adapter 4:
  Attached-To: Bridged Adapter
  Name: TAP-Windows Adpater V9
  Advanced:
    Cable connected: yes

Eu posso adb devices no host e ver:

C:\Program Files\Genymobile\Genymotion\tools>adb devices
List of devices attached
192.168.184.101:5555    device

Quando eu tento no meu convidado linux para adb devices ele não mostra nada. Se eu inserir adb connect 192.168.184.101 , ele diz que está conectado, mas mostra o status off-line. Finalmente, eu posso pingar minha VM android da VM linux com sucesso.

    
por Vinz243 28.05.2016 / 18:12

2 respostas

0

desde que me deparei com o mesmo problema, olhei mais fundo e encontrei uma solução "ok".

Basicamente, o ponto é que Genymotion se conecta automaticamente ao emulador com o adb do sistema operacional Windows (Genymotion-Local-adb ou instalado um SDK, caso você forneça o caminho nas configurações)

Portanto, ao iniciar o emulador, o "Windows-ADB" se conecta ao emulador por meio do adaptador somente host e "bloqueia" a porta. Quando você tenta se conectar, o emulador já está ocupado e envia o status "off-line".

Não encontrei uma solução, como bloquear diretamente a conexão adb via Genymotion, mas aqui está uma solução alternativa:

1.) Localize o adb que o Genymotion está usando (provavelmente em Genymotion / tools ou o / android-sdk / platform-tools /

fornecido

2.) Mate a conexão no Windows     Abra um cmd na pasta e interrompa a conexão:

adb disconnect
adb kill-server

3.) Depois de fazer isso, você se conecta ao emulador mais rapidamente via vm:

#!/bin/bash

echo ADB Genymotion connect...
./adb disconnect
./adb kill-server
ADBHOST=192.168.1.2 ./adb devices    
echo Done!

depois do ADBHOST o IP do Genymotion-Emulator. Se tudo estiver bem, o dispositivo está agora "on-line" na VM e "off-line" no Windows.

Felicidades, fogão

UPDATE: Adetutu dá detalhes sobre o passo 3, que está correto. Obrigada!

    
por 21.09.2016 / 22:24
-1

A resposta do Hob está correta. = Apenas para corrigir o script na VM / máquina convidado, deve ser

#! / bin / bash

echo ADB Genymotion conecta ...
desconexão adb
adb kill-server
ADBHOST = IPofGenyMotiondevice adb devices

eco feito!

= salve como um arquivo bash executável, imediatamente você kill-server no windows executa o arquivo bash no seu sistema operacional guest

    
por 09.09.2017 / 21:30