ในโปรแกรมจำลอง Android คุณสามารถใช้พร็อกซีเพื่อแก้ไขข้อบกพร่องของการรับส่งข้อมูลของแอปพลิเคชันหรือเพื่อ เข้าถึงอินเทอร์เน็ตจากด้านหลังไฟร์วอลล์ของบริษัท โปรแกรมจำลองมีกลไกพร็อกซีที่แตกต่างกัน 2 แบบเพื่อรองรับกรณีการใช้งานที่แตกต่างกันเหล่านี้ ได้แก่ พร็อกซีระบบ Android และพร็อกซีโปรแกรมจำลอง
การเลือกพร็อกซีที่เหมาะสม
ก่อนที่จะกำหนดค่าพร็อกซี คุณควรทำความเข้าใจกรณีการใช้งานทั้ง 2 กรณี พร็อกซีระบบ Android ใช้สำหรับตรวจสอบการรับส่งข้อมูลของแอปพลิเคชัน ส่วนพร็อกซีโปรแกรมจำลองใช้สำหรับไปยังการจำกัดเครือข่าย พร็อกซีทั้ง 2 รายการนี้ แยกจากกันโดยสิ้นเชิง คุณจะเปิดใช้ได้ครั้งละ 1 รายการเท่านั้น
| ฟีเจอร์ | พร็อกซีของระบบ Android | พร็อกซีของโปรแกรมจำลอง |
|---|---|---|
| กรณีการใช้งานหลัก | การแก้ไขข้อบกพร่องของแอป | การข้ามไฟร์วอลล์ |
| เลเยอร์การทำงาน | เลเยอร์เครือข่าย | เลเยอร์ของแอปพลิเคชัน |
| การกำหนดค่า | UI การตั้งค่า Wi-Fi ของระบบ Android | UI ของตัวควบคุมเพิ่มเติมของโปรแกรมจำลองหรือ แฟล็ก -http-proxy |
| การแก้ไขข้อบกพร่องของ HTTPS | ใช่ - อนุญาตให้เครื่องมืออย่าง Charles Proxy สกัดกั้นการรับส่งข้อมูลเมื่อ ติดตั้งใบรับรอง |
ไม่ - สร้างอุโมงค์ TCP ซึ่งจะป้องกัน การตรวจสอบ SSL |
| จัดการการเข้าชมที่ไม่ใช่ HTTP/HTTPS |
ไม่ - จัดการเฉพาะการเข้าชมผ่าน HTTP และ HTTPS เป็นหลัก |
ใช่ - ส่งต่อการรับส่งข้อมูล TCP ทั้งหมด |
กรณีการใช้งาน 1: การแก้ไขข้อบกพร่องของแอปพลิเคชันด้วยพร็อกซีของระบบ Android
หากต้องการแก้ไขข้อบกพร่องของการรับส่งข้อมูลในเครือข่ายของแอปพลิเคชัน เช่น การตรวจสอบคำขอ HTTPS ด้วยเครื่องมืออย่าง Charles Proxy คุณควรใช้พร็อกซีของระบบ Android
พร็อกซีนี้ทำงานที่เลเยอร์แอปพลิเคชันภายในระบบปฏิบัติการ Android ซึ่งช่วยให้เครื่องมือแก้ไขข้อบกพร่องสกัดกั้นและตรวจสอบการรับส่งข้อมูลได้ แต่ต้องติดตั้ง ใบรับรองความปลอดภัยที่จำเป็นในอุปกรณ์ที่จำลอง

การกำหนดค่า
คุณกำหนดค่าพร็อกซีของระบบ Android ได้ 2 วิธีดังนี้
- การกำหนดค่าด้วยตนเอง: ในโปรแกรมจำลอง ให้ไปที่การตั้งค่า > เครือข่ายและ อินเทอร์เน็ต > Wi-Fi เลือกเครือข่าย แล้วป้อนการตั้งค่าพร็อกซีด้วยตนเอง
- การกำหนดค่าอัตโนมัติ: คุณกำหนดค่าพร็อกซีระบบ Android โดยใช้โปรแกรมได้ โดยทำได้ด้วยการสร้างการทดสอบเครื่องมือที่ใช้เฟรมเวิร์กการทำงานอัตโนมัติของ UI เช่น UI Automator เพื่อเปิดแอปการตั้งค่า Android และใช้การกำหนดค่าพร็อกซีโดยไม่ต้องมีการแทรกแซงด้วยตนเอง
กรณีการใช้งานที่ 2: การข้ามไฟร์วอลล์ขององค์กรด้วยพร็อกซีของโปรแกรมจำลอง
ในเครือข่ายขององค์กรหลายแห่ง ผู้ดูแลเครือข่ายจะปฏิเสธการเชื่อมต่ออินเทอร์เน็ตโดยตรง และต้องผ่านพร็อกซีที่เฉพาะเจาะจงแทน หากต้องการเข้าถึงทรัพยากรภายนอกจากภายในเครือข่ายที่ถูกจำกัดดังกล่าว คุณควรใช้พร็อกซีของโปรแกรมจำลอง
กลไกนี้ทำงานในระดับเครือข่ายที่ต่ำกว่า และกำหนดเส้นทางการรับส่งข้อมูล TCP ของอุปกรณ์ที่จำลองทั้งหมดผ่านพร็อกซีที่ระบุ ซึ่งเหมาะอย่างยิ่งสำหรับการข้ามไฟร์วอลล์ โดยจะเขียนคำขอ HTTP จากอุปกรณ์เสมือนใหม่โดยอัตโนมัติ ก่อนส่งไปยังพร็อกซี เพื่อให้คำขอทำงานได้อย่างถูกต้อง
การกำหนดค่า
เมื่อใช้โปรแกรมจำลองภายใน Android Studio คุณจะกำหนดค่าพร็อกซีได้
ด้วยการตั้งค่าในเมนู Android Studio (
Settings > Appearance & Behavior > System Settings > HTTP Proxy) ดูรายละเอียดเพิ่มเติมได้ที่
ตั้งค่าพร็อกซี Android Studio
ในเอกสารประกอบของ Android Studio
เมื่อใช้โปรแกรมจำลองแบบสแตนด์อโลน (นอก Android Studio) คุณจะ กำหนดค่าพร็อกซีของโปรแกรมจำลองได้โดยใช้วิธีใดวิธีหนึ่งต่อไปนี้
Flag บรรทัดคำสั่ง: เปิดโปรแกรมจำลองจากบรรทัดคำสั่งด้วย Flag
-http-proxy <proxy><proxy>สามารถระบุข้อมูลในรูปแบบhttp://<machineName>:<port>หรือhttp://<username>:<password>@<machineName>:<port>ได้emulator -http-proxy http://<machineName>:<port>หรือ
emulator @MyAvd -http-proxy http://<username>:<password>@<machineName>:<port>ตัวแปรสภาพแวดล้อม: กำหนด
http_proxyตัวแปรสภาพแวดล้อมด้วย การตั้งค่าพร็อกซี โปรแกรมจำลองจะตรวจสอบตัวแปรนี้เมื่อเริ่มต้นระบบ และ ใช้ค่าของตัวแปรโดยอัตโนมัติหากมีการกำหนดไว้การควบคุมเพิ่มเติม: เปิดการควบคุมเพิ่มเติมของโปรแกรมจำลอง ไปที่การตั้งค่า > พร็อกซี แล้วป้อนการกำหนดค่าพร็อกซี HTTP ด้วยตนเอง โปรแกรมจำลองจะบันทึกการตั้งค่าเหล่านี้สำหรับอุปกรณ์และกู้คืนเมื่อ รีสตาร์ท

พร็อกซีของโปรแกรมจำลองจะทำงานที่เลเยอร์เครือข่าย โดยจะส่งการรับส่งข้อมูล HTTPS ผ่าน TCP แต่จะส่งต่อการรับส่งข้อมูลนี้โดยไม่มีการถอดรหัส ซึ่งจะป้องกันการตรวจสอบ HTTPS พร็อกซีโปรแกรมจำลองไม่รองรับการเปลี่ยนเส้นทาง UDP
การโต้ตอบกับ Android Studio
Android Studio มีกล่องโต้ตอบการกำหนดค่าพร็อกซีของตัวเองสำหรับการดาวน์โหลดการอัปเดต และไลบรารี เมื่อเปิดโปรแกรมจำลองจาก Android Studio โปรแกรมจะอ่านการตั้งค่าพร็อกซีของ IDE 1 ครั้งเพื่อสร้างการกำหนดค่าพร็อกซีของโปรแกรมจำลอง อย่างไรก็ตาม การตั้งค่าเหล่านี้ไม่มีผลกับพร็อกซีของระบบ Android