O so VPN ọ́fíìsì pọ̀, Android Studio sì pàdánù emulator tí ń ṣiṣẹ́, adb start-server dúró, tẹlifóònù ojúlùmọ̀ tó wà lórí Wi-Fi sì jáde kúrò nínú àkójọ àwọn ẹ̀rọ. Ó dàbí ẹni pé ihò kan ń dènà ọ̀nà kan. Ní tòótọ́, ọ̀nà mẹ́ta ọ̀tọ̀ọ̀tọ̀ kuna lọ́nà mẹ́ta: ìwárí ẹ̀rọ adb, nẹ́tíwọ́kù àròyé emulator àti olùyẹ́jú orúkọ ẹ̀rọ gbàlejò. Ihò máa ń ní ìkẹyìn nìkan, àti ọ̀pọ̀ ìgbà kìkì apá kan rẹ̀.

Sókẹ́tì mẹ́ta, olówó mẹ́ta

Sẹ́bà adb ń gbọ́ ní pọ́ọ̀tì 5037 lórí ẹ̀rọ gbàlejò, ó sì ń bá àwọn ẹ̀rọ sọ̀rọ̀ nípasẹ̀ USB tàbí TCP, ó ń lo mDNS fún ìwárí nẹ́tíwọ́kù. Emulator ń ṣiṣẹ́ lẹ́yìn olùdarí àròyé tirẹ̀: àlejò ni 10.0.2.15, ẹnubodè ni 10.0.2.2 àti sẹ́bà DNS ni 10.0.2.3, ìlànà emulator sì yí gbogbo rẹ̀ padà sí sókẹ́tì ẹ̀rọ gbàlejò. Olùyẹ́jú orúkọ ẹ̀rọ gbàlejò ni ibi tí ẹnìkan VPN ti ń fi DNS àti àwọn agbègbè ìwádìí sí.

Ìpínyà yẹn ló ń ṣàlàyé ìdí tí àtúnṣe kan fi dàbí ẹni pé ó ń ṣiṣẹ́ fún irinṣẹ́ kan tí kò sì ṣiṣẹ́ fún òmíràn. Ẹnìkan tí ó yí olùyẹ́jú orúkọ ẹ̀rọ gbàlejò padà ń fi ìlànà emulator tí ń ṣiṣẹ́ sílẹ̀ pẹ̀lú ipò olùyẹ́jú tí ó kà nígbà ìbẹ̀rẹ̀. Ẹnìkan tí ó ń ṣe àyọ̀ multicast ń ba ìwárí jẹ́ láìfọwọ́ kan DNS. Ẹnìkan tí ó ń ṣe àyọ̀ àwọn adápítà àròyé ń kọ̀ emulator nígbà tí aṣàwákiri ẹ̀rọ gbàlejò ṣì ń ṣiṣẹ́. Ẹ̀rí kọ̀ọ̀kan ní ìdí ọ̀tọ̀ọ̀tọ̀, nítorí náà dá ìdẹ́rù tí ó kuna mọ̀ kí o tó yí ètò kankan padà.

Bẹ̀rẹ̀ pẹ̀lú ohun tí adb lè rí

Ṣe adb devices kí o tó fọwọ́ kan VPN. Àkójọ òfìfo jẹ́ ìṣòro gbígbé, kì í ṣe ti ọ̀nà, kò sì sí ètò ihò tí yóò tún ẹ̀rọ tí sẹ́bà kò tíì kọ orúkọ rẹ̀ rí. Tún sẹ́bà bẹ̀rẹ̀lẹ́ẹ̀kansi lọ́nà mímọ́: kọ́kọ́ adb kill-server lẹ́yìn náà adb start-server, kí o sì ka àbájáde láti wo pọ́ọ̀tì tí ó gbà. Bí ìbẹ̀rẹ̀ fúnra rẹ̀ bá dúró, ìwárí mDNS ni afurakútọ̀ mọ́ lórí nẹ́tíwọ́kù tí ń ṣe àyọ̀ multicast; ojútùú tí a kọ sínú ìwé ni láti bẹ̀rẹ̀ sẹ́bà pẹ̀lú ìwárí tí a ti pa dé:

ADB_MDNS_OPENSCREEN=0 adb start-server
adb devices

Fún ẹ̀rọ ojúlùmọ̀, USB ni ọ̀nà tí ó kúrú jù. Bí o bá nílò TCP, fi ẹ̀rọ náà sí ipò gbígbọ́ràn pẹ̀lú adb tcpip 5555 kí o sì so mọ́ àdírẹ́sì àti pọ́ọ̀tì ẹ̀rọ náà, adb connect 192.0.2.10:5555. Pọ́ọ̀tì 5037 ni pọ́ọ̀tì sẹ́bà ẹ̀rọ gbàlejò, kì í ṣe pọ́ọ̀tì tí ẹ̀rọ ń gbọ́.

Dán emulator wò láti inú

Emulator ń dáhùn DNS láti 10.0.2.3, ìlànà ẹ̀rọ gbàlejò sì ń bọ́ olùyẹ́jú yẹn. Nígbà tí ẹnìkan VPN bá yí olùyẹ́jú orúkọ ẹ̀rọ gbàlejò padà, emulator lè jogún rẹ̀; nígbà tí ẹnìkan bá ṣe àyọ̀ ìlànà emulator tàbí àkójọ adápítà ẹ̀rọ gbàlejò yí padà lẹ́yìn ìbẹ̀rẹ̀, kò lè. Ya àwọn méjèèjì sọ́tọ̀ pẹ̀lú àfojúsùn nọ́mbà àti orúkọ láti inú ṣẹ́ẹ̀lì kan náà. adb shell ping -c 2 10.0.2.2 fi hàn pé nẹ́tíwọ́kù àròyé dé ẹ̀gbẹ́ ẹ̀rọ gbàlejò. Ìwádìí orúkọ lẹ́yìn náà sọ bóyá ìyẹ́jú kọjá ààlà.

Lẹ́yìn náà ṣe ìwádìí orúkọ kan náà lórí ẹ̀rọ gbàlejò. Ẹ̀rọ gbàlejò yẹ́jú, emulator kò yẹ́jú túmọ̀ sí pé ìjámbá wà láàrín olùyẹ́jú orúkọ ẹ̀rọ gbàlejò àti nẹ́tíwọ́kù àròyé emulator, kì í ṣe nínú ihò. Méjèèjì bá kuna túmọ̀ sí pé olùyẹ́jú orúkọ ẹ̀rọ gbàlejò ni ibi tí a ó wò. Títún emulator bẹ̀rẹ̀ lẹ́yìn ìsopọ̀ VPN tọ́ sí ìgbìyànjú kan, nítorí àwọn ẹnìkan kan ń fi ipò olùyẹ́jú tí ìlànà emulator tí ń ṣiṣẹ́ kò gbà sílẹ̀.

Yẹ olùyẹ́jú orúkọ ẹ̀rọ gbàlejò àti àwọn àyọ̀ ẹnìkan wò

Ẹnìkan ihò kíkún yóò fi tirẹ̀ rọ́pò olùyẹ́jú orúkọ ẹ̀rọ gbàlejò, ẹnìkan split-DNS sì ń fi àwọn agbègbè ìwádìí àti olùtọ́já ìgbà àfikún kún. Àwọn orúkọ inú máa ń gbára lé ìṣètò split-DNS yẹn, nítorí náà wo ohun tí ẹ̀rọ gbàlejò ń lò nígbà tí o wà ní ìsopọ̀: àdírẹ́sì olùyẹ́jú, agbègbè ìwádìí àti bóyá a ń darí agbègbè inú lọ sí DNS ilé-iṣẹ́. Olùyẹ́jú tí ń dáhùn orúkọ gbogbogbò tí kò sì dáhùn orúkọ inú jẹ́ ìbéèrè ìlànà, kì í ṣe ihò tí ó ti já.

Àwọn ẹnìkan ilé-iṣẹ́ kan tún ń dènà ìrìnàjò láti àwọn adápítà àròyé. Fún awakọ̀ àyọ̀, emulator dàbí adápítà àròyé, nítorí náà ẹ̀rọ gbàlejò lè ṣiṣẹ́ dáadáa nígbà tí ìlànà ń kọ̀ emulator. Ìlànà yẹn kò hàn láti ibi iṣẹ́, àti síso ètò prókísì kò ní fi í hàn. Bí ẹ̀rọ gbàlejò bá yẹ́jú tí emulator sì wà ní dídènà láìka ètò rẹ̀, ìgbésẹ̀ tí ó tọ́ ni sí ẹgbẹ́ tí ó ní ìlànà ẹnìkan.

Ìtẹ̀síwájú àwọn àyẹ̀wò àti ìtumọ̀ àbájáde kọ̀ọ̀kan

Ṣiṣẹ́ láti orí dé ìsàlẹ̀ kí o sì dúró ní ìlà àkọ́kọ́ tí ó kuna. Àbájáde kọ̀ọ̀kan ń tọ́ka sí olówó ọ̀tọ̀ọ̀tọ̀, kò sì sí èyí tí a ń túnṣe nípasẹ̀ títún Android Studio fi sílẹ̀.

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

Ìlà méjì tí ó kẹ́yìn nìkan ni ìbéèrè VPN ní ìtumọ̀ ojoojúmọ́, ìkẹyìn nìkan sì jẹ́ nípa àkóónú DNS. Àwọn ìwé adb ń bo pọ́ọ̀tì sẹ́bà àti àwọn àyípadà àyíká tí a mẹ́nuba níbí, tí ó tó láti jẹ́ kí ẹ̀gbẹ́ gbígbé wà ní òtítọ́ nígbà tí o ń dán ìyókù wò.

Àwọn àpilẹ̀kọ tó jọra