ADB மற்றும் Android எமுலேட்டர் VPN பின்னால் தோல்வி: மூன்று பாதைகள்
ADB கண்டறிதல், எமுலேட்டரின் மெய்நிகர் வலைப்பிணைய அட்டை மற்றும் ஹோஸ்ட் தீர்வி VPN பின்னால் தனித்தனியாக தோல்வியடைகின்றன. சுரங்கப்பாதையை குறை சொல்வதற்கு முன் ஒவ்வொரு பாதையையும் வரிசையாக சோதிக்கவும்.
அலுவலக VPN ஐ இணைக்கும்போது Android Studio இயங்கும் எமுலேட்டரை இழக்கிறது, adb start-server நிற்கிறது, மேலும் Wi-Fi இல் உள்ள உண்மையான தொலைபேசி சாதனப் பட்டியலிலிருந்து விலகுகிறது. ஒரு சுரங்கப்பாதை ஒரு தயாரிப்பைத் தடுப்பதாகத் தெரிகிறது. உண்மையில் மூன்று தனித்தனி பாதைகள் மூன்று வழிகளில் தோல்வியடைகின்றன: adb சாதனக் கண்டறிதல், எமுலேட்டரின் மெய்நிகர் வலைப்பிணையம் மற்றும் ஹோஸ்ட் தீர்வி. சுரங்கப்பாதை பொதுவாக கடைசியை மட்டுமே கொண்டுள்ளது, பல நேரங்களில் அதன் ஒரு பகுதியை மட்டுமே.
மூன்று சாக்கெட்டுகள், மூன்று உரிமையாளர்கள்
adb சேவையகம் ஹோஸ்ட்டின் போர்ட் 5037 இல் கேட்கிறது மற்றும் USB அல்லது TCP வழியாக சாதனங்களுடன் பேசுகிறது, வலைப்பிணையக் கண்டறிதலுக்கு mDNS பயன்படுத்துகிறது. எமுலேட்டர் தனது சொந்த மெய்நிகர் திசைவியின் பின்னால் இயங்குகிறது: விருந்தினர் 10.0.2.15, நுழைவாயில் 10.0.2.2 மற்றும் DNS சேவையகம் 10.0.2.3, எமுலேட்டர் செயல்முறை இவற்றை ஹோஸ்ட் சாக்கெட்டுகளாக மாற்றுகிறது. ஹோஸ்ட் தீர்வி என்பது VPN வாடிக்கையாளர் DNS மற்றும் தேடல் களங்களை நிறுவும் இடம்.
அந்தப் பிரிவே ஒரு சரிசெய்தல் ஒரு கருவிக்கு வேலை செய்து மற்றொன்றுக்கு செய்யாததற்கான காரணம் ஆகும். ஹோஸ்ட் தீர்வியை மாற்றும் வாடிக்கையாளர் இயங்கும் எமுலேட்டர் செயல்முறையை தொடக்கத்தில் படித்த தீர்வி நிலையுடன் விட்டுவிடுகிறார். multicast வடிகட்டும் வாடிக்கையாளர் DNS ஐ தொடாமல் கண்டறிதலை உடைக்கிறார். மெய்நிகர் தகவிகளை வடிகட்டும் வாடிக்கையாளர் ஹோஸ்ட் உலாவி இயங்கிக்கொண்டிருக்கும்போது எமுலேட்டரை மறுக்கிறார். ஒவ்வொரு அறிகுறிக்கும் வேறு காரணம், எனவே எந்த அமைப்பையும் மாற்றுவதற்கு முன் தோல்வியடையும் பாதையை அடையாளம் காணுங்கள்.
adb பார்க்கக்கூடியதில் தொடங்குங்கள்
VPN ஐ தொடுவதற்கு முன் adb devices இயக்குங்கள். காலி பட்டியல் போக்குவரத்து சிக்கல், வழித்தடம் அல்ல, சேவையகம் ஒருபோதும் பட்டியலிடாத சாதனத்தை எந்த சுரங்கப்பாதை அமைப்பும் சரிசெய்யாது. சேவையகத்தை தூய்மையாக மீண்டும் தொடங்குங்கள்: முதலில் adb kill-server பின்னர் adb start-server, எந்த போர்ட்டைப் பிடித்தது என்பதை அறிய வெளியீட்டைப் படியுங்கள். தொடக்கமே நின்றால், multicast வடிகட்டும் வலைப்பிணையத்தில் mDNS கண்டறிதல் வழக்கமான சந்தேகம்; ஆவணப்படுத்தப்பட்ட தீர்வு கண்டறிதலை முடக்கி சேவையகத்தைத் தொடங்குவது:
ADB_MDNS_OPENSCREEN=0 adb start-server
adb devicesஉண்மையான சாதனத்திற்கு USB மிகக் குறுகிய பாதை. TCP தேவைப்பட்டால் சாதனத்தை adb tcpip 5555 மூலம் கேட்கும் நிலைக்கு வைத்து சாதனத்தின் முகவரி மற்றும் போர்ட்டுடன் இணைக்கவும், adb connect 192.0.2.10:5555. போர்ட் 5037 ஹோஸ்ட் சேவையகத்தின் போர்ட், சாதனம் கேட்கும் போர்ட் அல்ல.
எமுலேட்டரை உள்ளிருந்து சோதிக்கவும்
எமுலேட்டர் 10.0.2.3 இல் இருந்து DNS க்கு பதிலளிக்கிறது, அந்த தீர்விக்கு ஹோஸ்ட் செயல்முறை உணவளிக்கிறது. VPN வாடிக்கையாளர் ஹோஸ்ட் தீர்வியை மாற்றும்போது எமுலேட்டர் அதை மரபாகப் பெறலாம்; வாடிக்கையாளர் எமுலேட்டர் செயல்முறையை வடிகட்டும்போது அல்லது தொடங்கிய பிறகு ஹோஸ்ட் தகவி பட்டியல் மாறும்போது பெற முடியாது. இரண்டையும் ஒரே ஷெல்லில் இருந்து எண் இலக்கு மற்றும் பெயரால் பிரிக்கவும். adb shell ping -c 2 10.0.2.2 மெய்நிகர் வலைப்பிணையம் ஹோஸ்ட் பக்கத்தை அடைவதை நிரூபிக்கிறது. அதன் பின் பெயர் தேடல் தீர்வு எல்லையைக் கடந்ததா என்பதைக் காட்டுகிறது.
பின்னர் அதே பெயர் தேடலை ஹோஸ்ட்டில் இயக்கவும். ஹோஸ்ட் தீர்க்கிறது எமுலேட்டர் தீர்க்கவில்லை என்பது முறிவு ஹோஸ்ட் தீர்விக்கும் எமுலேட்டரின் மெய்நிகர் வலைப்பிணையத்திற்கும் இடையே உள்ளது, சுரங்கப்பாதையில் அல்ல. இரண்டும் தோல்வியடைந்தால் ஹோஸ்ட் தீர்வி பார்க்க வேண்டிய இடம். VPN இணைந்த பிறகு எமுலேட்டரை மீண்டும் தொடங்குவது ஒரு முயற்சிக்கு தகுதி, ஏனெனில் சில வாடிக்கையாளர்கள் இயங்கும் எமுலேட்டர் செயல்முறை எடுக்காத தீர்வி நிலையை நிறுவுகிறார்கள்.
ஹோஸ்ட் தீர்வி மற்றும் வாடிக்கையாளர் வடிகட்டிகளை சரிபார்க்கவும்
முழு சுரங்கப்பாதை வாடிக்கையாளர் ஹோஸ்ட் தீர்வியை தனது தீர்வியால் மாற்றுகிறார், split-DNS வாடிக்கையாளர் தேடல் களங்களையும் நிபந்தனை அனுப்புநர்களையும் சேர்க்கிறார். உள் பெயர்கள் பெரும்பாலும் அந்த split-DNS அமைப்பைச் சார்ந்தவை, எனவே இணைந்திருக்கும்போது ஹோஸ்ட் எதைப் பயன்படுத்துகிறது என்பதைப் பாருங்கள்: தீர்வி முகவரி, தேடல் களம் மற்றும் உள் மண்டலம் நிறுவன DNS க்கு வழிமாற்றப்படுகிறதா என்பது. பொது பெயர்களுக்கு பதிலளித்து உள் பெயர்களுக்கு பதிலளிக்காத தீர்வி கொள்கை கேள்வி, உடைந்த சுரங்கப்பாதை அல்ல.
சில நிறுவன வாடிக்கையாளர்கள் மெய்நிகர் தகவிகளிலிருந்து வரும் போக்குவரத்தையும் தடுக்கிறார்கள். வடிகட்டி இயக்கிக்கு எமுலேட்டர் மெய்நிகர் தகவியாகத் தெரிகிறது, எனவே ஹோஸ்ட் சிறப்பாக இயங்கும்போது கொள்கை எமுலேட்டரை மறுக்கலாம். அந்தக் கொள்கை பணிநிலையத்திலிருந்து தெரியாது, ப்ராக்ஸி அமைப்புகளை ஊகிப்பது அதை வெளிப்படுத்தாது. ஹோஸ்ட் தீர்க்கிறது ஆனால் அமைப்புகள் எப்படியிருந்தாலும் எமுலேட்டர் தடுக்கப்பட்டால், சரியான மேல்நிலை என்பது வாடிக்கையாளர் கொள்கையைக் கொண்ட குழுவிடம்.
சரிபார்ப்புகளின் வரிசை மற்றும் ஒவ்வொரு முடிவின் பொருள்
மேலிருந்து கீழாக வேலை செய்து முதல் தோல்வி வரிசையில் நில்லுங்கள். ஒவ்வொரு முடிவும் வேறு உரிமையாளரைக் காட்டுகிறது, Android Studio ஐ மீண்டும் நிறுவுவதால் எதுவும் சரியாகாது.
| Result | Likely owner | Next check |
|---|---|---|
| adb devices is empty with USB attached | USB, driver or adb server | cable, authorization prompt, adb kill-server |
| adb start-server hangs | mDNS discovery | ADB_MDNS_OPENSCREEN=0 |
| Emulator reaches 10.0.2.2, names fail | Host resolver to emulator boundary | host lookup of the same name |
| Host resolves, emulator still fails | Emulator process or client filter | restart emulator, ask IT about virtual adapters |
| Both fail for internal names only | Split DNS or search domain | resolver and zone configuration |
வழக்கமான பொருளில் கடைசி இரண்டு வரிசைகள் மட்டுமே VPN கேள்விகள், கடைசி ஒன்று மட்டுமே DNS உள்ளடக்கம் பற்றியது. adb ஆவணங்கள் சேவையக போர்ட் மற்றும் இங்கு கூறப்பட்ட சூழல் மாறிகளை உள்ளடக்குகின்றன, மீதமுள்ளவற்றை சோதிக்கும்போது போக்குவரத்து பக்கத்தை நேர்மையாக வைத்திருக்க போதுமானது.