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 اسناد د سرور پورټ او دلته یاد شوي چاپیریال متغیرونه رانغاړي، چې د پاتې ازموینې پر مهال د لېږد خوا صادق ساتلو لپاره بسنه کوي.