ใช้ ADB พร้อม Genymotion จาก linux พร้อมกัน


0

ฉันมี linux VM และ genymotion VM บนโฮสต์ของฉัน ทั้งสองมีการกำหนดค่าเครือข่ายเดียวกัน (ฉันตั้งค่าตัวเอง) ซึ่งเป็น:

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

ฉันสามารถadb devicesในโฮสต์และดู:

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

เมื่อฉันลองในแขกลินุกซ์ของฉันadb devicesมันจะไม่แสดงอะไรเลย ถ้าฉันใส่adb connect 192.168.184.101มันบอกว่าเชื่อมต่อ แต่มันแสดงสถานะออฟไลน์ ในที่สุดฉันสามารถ ping VM Android ของฉันจาก linux VM ได้สำเร็จ

คำตอบ:


0

เนื่องจากฉันพบปัญหาเดียวกันฉันจึงมองลึกลงไปและพบ "การตกลง" - การแก้ไข

โดยทั่วไปประเด็นคือ Genymotion จะเชื่อมต่อกับ Emulator โดยอัตโนมัติด้วย adb จากระบบปฏิบัติการ Windows (Genymotion-Local-adb หรือ SDK ที่ติดตั้งไว้ในกรณีที่คุณระบุเส้นทางในการตั้งค่า)

ดังนั้นเมื่อเริ่มต้นตัวจำลอง "Windows-ADB" เชื่อมต่อกับตัวจำลองผ่านอะแดปเตอร์สำหรับโฮสต์เท่านั้นและ 'บล็อก' พอร์ต เมื่อคุณพยายามเชื่อมต่อตัวจำลองจะยุ่งอยู่แล้วและส่งสถานะ "ออฟไลน์"

ฉันไม่พบวิธีการบล็อกการเชื่อมต่อ adb ผ่าน Genymotion โดยตรง แต่นี่เป็นวิธีแก้ไข:

1. )ค้นหา adb ที่ Genymotion ใช้ (อาจอยู่ใน Genymotion / tools หรือ android-sdk / platform-tools /

2. )ฆ่าการเชื่อมต่อบน Windows เปิด cmd ที่โฟลเดอร์และการเชื่อมต่อขัดจังหวะ:

adb disconnect
adb kill-server

3. )หลังจากทำเช่นนี้คุณเชื่อมต่อกับตัวจำลองได้เร็วขึ้นผ่าน vm:

#!/bin/bash

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

หลังจาก ADBHOST IP ของ Genymotion-Emulator หากทุกอย่างเรียบร้อยอุปกรณ์จะ 'ออนไลน์' ใน VM และ 'ออฟไลน์' ใน windows

ไชโย

ปรับปรุง: Adetutu ให้รายละเอียดเกี่ยวกับขั้นตอนที่ 3 ซึ่งถูกต้อง ขอบคุณ!


-1

คำตอบฮอบถูกต้อง = เพียงเพื่อแก้ไขสคริปต์บนเครื่อง VM / แขกควรเป็น

#! / bin / ทุบตี

echo ADB Genymotion เชื่อมต่อ ...
adb ยกเลิกการเชื่อมต่อ
adb kill-server
ADBHOST = IPofGenyMotiondevice อุปกรณ์ adb

echo ทำเสร็จแล้ว!

= จากนั้นบันทึกเป็นไฟล์ bash ที่ปฏิบัติการได้ทันทีที่คุณทำลายเซิร์ฟเวอร์บน windows ให้รันไฟล์ bash ในระบบปฏิบัติการ guest ของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.