Waxaad xiriirtaa VPN-ga xafiiska oo Android Studio lumiyaa emulaatarka socda, adb start-server way xannibaataa, telefoon jidh ahaan Wi-Fi ku jirana liiska aaladaha ka baxaa. Waxay u muuqataa in hal tuunel hal badeeco xannibayso. Dhab ahaan saddex waddo oo gooni ah ayaa saddex siyaabood ku guuldareysta: helitaanka aaladaha adb, shabakadda macmalka ah ee emulaatarka iyo xalliyaha martigeliyaha. Tuunelku badanaa wuxuu leeyahay kaliya kan dambe, iyo badanaa qayb ka mid ah.

Saddex socket, saddex milkiile

Server-ka adb wuxuu dhegeystaa port 5037 ee martigeliyaha wuxuuna la hadlaa aaladaha isagoo u maraya USB ama TCP, isticmaalaya mDNS helitaanka shabakadda. Emulaatarku wuxuu ka shaqeeyaa gadaashiisa router macmal ah oo u gaar ah: martida waa 10.0.2.15, iriddu waa 10.0.2.2 iyo server-ka DNS waa 10.0.2.3, oo habka emulaatarku wuxuu u beddelaa socket-yada martigeliyaha. Xalliyaha martigeliyaha waa meesha macmiilka VPN ku rakibo DNS iyo domain-yada raadinta.

Kala-soociddaas waxay sharraxaysaa sababta hagaajin ugu shaqeeyo hal qalab oo ugu shaqayn waayo mid kale. Macmiilka beddela xalliyaha martigeliyaha wuxuu ka tagaa habka emulaatarka oo socda isagoo leh xaaladda xalliyaha uu akhriyay bilowga. Macmiilka shaandheeya multicast wuxuu jebiyaa helitaanka isagoo aan taaban DNS. Macmiilka shaandheeya adaptarrada macmalka ah wuxuu diidaa emulaatarka inta browser-ka martigeliyaha shaqeynayo. Calaamad kastaa waxay leedahay sabab gooni ah, sidaas darteed aqoonso waddada guuldareysata ka hor intaadan beddelin wax setting ah.

Ka bilow waxa adb arki karo

Socodsii adb devices ka hor intaadan taaban VPN. Liis madhan waa dhibaato gaadiid, ma aha mid waddo, oo ma jiro setting tuunel oo hagaajinaya aalad uusan server-ku waligiis liis gelin. Dib u bilow server-ka si nadiif ah: marka hore adb kill-server ka dibna adb start-server, oo akhri natiijada si aad u aragto port-ka uu qabsaday. Haddii bilowga laftiisu xannibaato, helitaanka mDNS waa tuhunka caadiga ah shabakad shaandheysa multicast; xalka la diiwaangeliyay waa in server-ka la bilaabo iyadoo helitaanku damisanyahay:

ADB_MDNS_OPENSCREEN=0 adb start-server
adb devices

Aaladda jidhka ah USB waa waddada ugu gaaban. Haddii aad u baahan tahay TCP, geli aaladda habka dhegeysiga adigoo isticmaalaya adb tcpip 5555 oo ku xiriir cinwaanka iyo port-ka aaladda, adb connect 192.0.2.10:5555. Port 5037 waa port-ka server-ka martigeliyaha, ma aha port-ka aaladdu ku dhegeysato.

Emulaatarka ka tijaabi gudaha

Emulaatarku wuxuu ka jawaabaa DNS laga bilaabo 10.0.2.3, xalliyahaasna waxaa quudiya habka martigeliyaha. Marka macmiilka VPN beddelo xalliyaha martigeliyaha emulaatarku wuu dhaxli karaa; marka macmiilku shaandheeyo habka emulaatarka ama liiska adaptarrada is beddelo bilowga ka dib, ma dhaxli karo. Kala sooc labadaba iyadoo la adeegsanayo bartilmaameed tiro iyo magac isla shell. adb shell ping -c 2 10.0.2.2 wuxuu caddeeyaa in shabakadda macmalka ahi gaarto dhinaca martigeliyaha. Raadinta magac ka dib waxay sheegtaa haddii xallintu ka gudubtay xadka.

Ka dibna socodsii isla raadinta magac ee martigeliyaha. Martigeliyuhu wuu xalliyaa emulaatarkuna ma xalliyo waxay la macno tahay jabku waa inta u dhaxaysa xalliyaha martigeliyaha iyo shabakadda macmalka ah ee emulaatarka, ma aha tuunelka. Labaduba guuldareystaan waxay la macno tahay xalliyaha martigeliyaha waa meesha la eego. Dib u bilaabista emulaatarka ka dib xiriirka VPN way mudan tahay hal isku day, sababtoo ah macmiillada qaar waxay rakibaan xaalad xalliye ah oo aan habka emulaatarka socda qaadin.

Hubi xalliyaha martigeliyaha iyo shaandhayada macmiilka

Macmiilka tuunel buuxa wuxuu xalliyaha martigeliyaha ku beddelaa midkiisa, macmiilka split-DNS-na wuxuu ku daro domain-yo raadin iyo gudbinno shuruud leh. Magacyada gudaha waxay inta badan ku xiran yihiin qaabeyntaas split-DNS, marka eeg waxa martigeliyuhu isticmaalo inta aad xiran tahay: cinwaanka xalliyaha, domain-ka raadinta iyo haddii aagga gudaha loo jiheeyo DNS-ka shirkadda. Xalliye ka jawaaba magacyo guud laakiin aan ka jawaabin kuwa gudaha waa su aal siyaasad, ma aha tuunel jabay.

Macmiillada shirkadaha qaarkood waxay kaloo xannibaan gaadiidka ka imanaya adaptarrada macmalka ah. Darawalka shaandhaynta emulaatarku wuxuu u muuqdaa sida adaptar macmal ah, sidaas darteed martigeliyuhu si fiican ayuu u shaqeyn karaa inta siyaasaddu diiddayso emulaatarka. Siyaasaddaas lama arki karo goobta shaqada, oo qiyaasidda setting-yada proxy ma muujinayso. Haddii martigeliyuhu xalliyo oo emulaatarku xannibnaado si kasta oo setting-yada xalliyaha, kor u qaadista saxda ah waa kooxda leh siyaasadda macmiilka.

Nidaamka hubinta iyo waxa natiijo kastaa ka dhigan tahay

Ka shaqee kor ilaa hoos oo joogso safka ugu horreeya ee guuldareysta. Natiijo kastaa waxay tilmaantaa milkiile kale, oo midkoodna laguma hagaajiyo dib u rakibista Android Studio.

ResultLikely ownerNext check
adb devices is empty with USB attachedUSB, driver or adb servercable, authorization prompt, adb kill-server
adb start-server hangsmDNS discoveryADB_MDNS_OPENSCREEN=0
Emulator reaches 10.0.2.2, names failHost resolver to emulator boundaryhost lookup of the same name
Host resolves, emulator still failsEmulator process or client filterrestart emulator, ask IT about virtual adapters
Both fail for internal names onlySplit DNS or search domainresolver and zone configuration

Kaliya labada saf ee ugu dambeeya ayaa ah su aalo VPN macne caadi ah, oo kaliya kan dambe ayaa ku saabsan waxa ku jira DNS. Dukumentiyada adb waxay daboolaan port-ka server-ka iyo doorsoomayaasha deegaanka ee halkan lagu sheegay, taas oo ku filan in dhinaca gaadiidka daacad loo hayo inta aad tijaabinayso inta kale.

Maqaallo la xiriira