วิธีตั้งค่าพร็อกซีโปรแกรมจำลอง Android


111

ฉันต้องการใช้เบราว์เซอร์ในโปรแกรมจำลอง Android และฉันต้องการใช้การตั้งค่าพร็อกซีบนเครื่องของฉัน ฉันจะตั้งค่านี้ได้อย่างไร?

การอ่านคู่มือ Android ที่ดีมากพวกเขาบอกฉันว่าฉันควรเริ่ม Android โดยใช้คำสั่งต่อไปนี้:

emulator -avd myavd -http-proxy http://168.192.1.2:3300

แต่ฉันยังไม่สามารถใช้เบราว์เซอร์จำลองได้ โปรดทราบว่าฉันใช้ที่อยู่ IP สำหรับพร็อกซีเซิร์ฟเวอร์ของฉัน

ผมทำอะไรผิดหรือเปล่า?

คำตอบ:


147

วิธีที่ง่ายที่สุดและดีที่สุดคือทำสิ่งต่อไปนี้: สิ่งนี้ได้เสร็จสิ้นแล้วสำหรับ Android Emulator 2.2

  1. คลิกที่เมนู
  2. คลิกที่การตั้งค่า
  3. คลิกที่ Wireless & Networks
  4. ไปที่เครือข่ายมือถือ
  5. ไปที่ชื่อจุดเข้าใช้งาน
  6. ที่นี่คุณจะ Telkila Internet คลิกที่มัน
  7. ในส่วนแก้ไขจุดเชื่อมต่อป้อน "พร็อกซี" และ "พอร์ต"
  8. ระบุชื่อผู้ใช้และรหัสผ่านด้วยส่วนที่เหลือของช่องเว้นว่างไว้

ใช้ไม่ได้กับกรณีการใช้งานที่พบบ่อยที่สุดในการเรียกใช้ Fiddler2 หรือพร็อกซีอื่น ๆ บน localhost .... อาจเพิ่มการส่งต่อพอร์ต แต่นั่นก็เป็นความเจ็บปวดเช่นกัน
gcb

1
มันไม่ทำงานบนโปรแกรมจำลอง Android 2.3.3 แต่ใช้งานได้กับโปรแกรมจำลอง 4.1.2 สำหรับฉัน
azgolfer

24
สิ่งนี้ใช้ไม่ได้อีกต่อไปบนภาพ Android 5 (api 21)
neomega

คำตอบนี้ควรเป็นคำตอบที่ยอมรับ! ทำงานร่วมกับ Burpsuite บน Mac!
นักเล่นแร่แปรธาตุ

สิ่งนี้ใช้ได้กับวอลเลย์ด้วย! เพิ่มในกรณีที่มีคนโลภ
computingfreak

58

-http-proxy บน Android Emulator

ในการกำหนดค่าการเรียกใช้> แอปพลิเคชัน Android> แอป> เป้าหมาย> ตัวเลือกบรรทัดคำสั่ง Emulator เพิ่มเติม: -http-proxy http: //xx.xxx.xx.xx: 8080


eclipse เวอร์ชั่นนั้นคืออะไร? ฉันไม่เห็นอินเทอร์เฟซนี้ :(
Salman von Abbas

1
คุณเลื่อนลงมาหรือเปล่า?
Darpan

กำหนดค่าโปรแกรมจำลองของคุณด้วย
Badre

3
สำหรับพร็อกซีที่มีชื่อผู้ใช้และรหัสผ่านให้ใช้รูปแบบนี้:-http-proxy http://username:password@host:port
ashakirov

เกิดข้อผิดพลาดemulator is not recognized as a commandในกรณีของฉัน .. ฉันต้องเพิ่มอะไรในตัวแปร PATH หรือไม่ ?? ฉันใช้ Android Studio 1.0.1 และมีพร็อกซีในระบบสำนักงานของฉัน
Anil Bhaskar

40

ตอนนี้มีการตั้งค่าในโปรแกรมจำลอง Android ใส่คำอธิบายภาพที่นี่


ข้อมูลอ้างอิงคือdeveloper.android.com/studio/run/emulator-networking.html#proxy
Alen Siljak

ทำงานให้ฉัน สภาพแวดล้อมของฉัน: MAC OS ambient + android emulator และขนาน windows 7 พร้อม fiddler proxy
Arthur Menezes

7
การตั้งค่านี้ไม่เคยได้ผลสำหรับฉัน ฉันต้องเริ่มโปรแกรมจำลองด้วยคำสั่ง -http-proxy เสมอเพื่อให้มันทำงานได้
gsingh2011

2
เมนูนี้มีข้อผิดพลาดที่เกิดขึ้นอีกครั้งซึ่งทำให้ฉันบ้าคลั่งตั้งแต่กลางปี ​​2017 บางครั้งมันก็ใช้งานได้บางครั้งก็ไม่ได้อยู่ใน AVD เดียวกัน การสร้าง AVD ใหม่เท่านั้นที่สามารถช่วยได้อย่างน่าเชื่อถือ บางครั้งพร็อกซีหลุดกลางเซสชัน! ในสภาพแวดล้อมขององค์กรนั่นหมายความว่าฉันถูกล็อคจากบัญชีของฉันเพราะเรื่องห่วย ๆ
halxinate

แม้ว่าตอนนี้ฉันจะพบวิธีแก้ปัญหาแล้ว: การกำหนดค่าฮอตสปอต wifi ปลอมดังกล่าวข้างต้นเพื่อใช้พร็อกซีจะช่วยได้แม้ว่าพร็อกซีของฉันต้องการการตรวจสอบความถูกต้องซึ่งการกำหนดค่าฮอตสปอตนั้นไม่มีเลย เพียงแค่ URL และพอร์ตก็ช่วยกู้คืนการเชื่อมต่อที่หายไปได้ทันที
halxinate

20

ฉันลองหลังจากลบ http ในชื่อเซิร์ฟเวอร์แล้วและมันก็ใช้ได้สำหรับฉัน

emulator -avd myavd -http-proxy 168.192.1.2:3300


สิ่งนี้ใช้ได้กับเบราว์เซอร์เท่านั้น แต่ไม่มีการร้องขอแอปใด ๆ ผ่านพร็อกซี :(
Felipe Sabino

14

สิ่งนี้จะไม่ช่วยสำหรับเบราว์เซอร์ แต่คุณสามารถกำหนดพร็อกซีในรหัสของคุณเพื่อใช้กับไคลเอนต์ HTTP ได้:

// proxy
private static final String PROXY = "123.123.123.123";
// proxy host
private static final HttpHost PROXY_HOST = new HttpHost(PROXY, 8080);
HttpParams httpParameters = new BasicHttpParams();
DefaultHttpClient httpClient = new DefaultHttpClient(httpParameters);
httpClient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, PROXY_HOST);

1
คุณไม่ควรใส่ "127.0.0.1" สำหรับ String PROXY
Michaël

kuester2000 ดูคำถามของฉันได้ที่นี่stackoverflow.com/questions/31723494/…
AndroidGeek

10

บน Android Studio:

คลิกที่แก้ไขการกำหนดค่าภายใต้เมนูแอพ

ใส่คำอธิบายภาพที่นี่

  1. ไปที่แอพหรือแอพ Android (เป็นการตั้งค่าเริ่มต้น)
  2. แตะที่ Debugger
  3. แตะที่คำสั่งเริ่มต้น LLDB
  4. แตะ +
  5. เพิ่มคำสั่งของคุณ -http-proxy http://168.192.1.2:3300

ใส่คำอธิบายภาพที่นี่

นั่นคือมัน

สิ่งดีๆเพิ่มเติมหากคุณต้องการใช้ PC IP ของคุณให้ใช้คำสั่งนี้:

  • -http-proxy "$(ipconfig getifaddr en0)":8888 บน MacOS
  • -http-proxy "$(hostname -i)":8888 บน Linux

4

สำหรับการตั้งค่าพร็อกซีเซิร์ฟเวอร์เราจำเป็นต้องตั้งAPNSค่า เพื่อทำสิ่งนี้:

  1. ไปที่การตั้งค่า

  2. ไปที่ระบบไร้สายและเครือข่าย

  3. ไปที่เครือข่ายมือถือ

  4. ไปที่ชื่อจุดเชื่อมต่อ ใช้เมนูเพื่อเพิ่ม apns ใหม่

    ตั้งค่า Proxy = localhost

    ตั้งค่า Port = พอร์ตที่คุณใช้สร้างพร็อกซีเซิร์ฟเวอร์ในกรณีของฉันคือ 8989

    สำหรับการตั้งชื่อและ apn นี่คือลิงค์:

    ตามsimการ์ดของคุณคุณสามารถดูตารางได้


"การพิสูจน์ตัวตนผ่านพร็อกซีเซิร์ฟเวอร์ไม่สำเร็จ" พร็อกซีไม่ต้องการการรับรองความถูกต้องและไม่เคยเห็นคำขอใด ๆ ตามการถ่ายโอนข้อมูล tcp
gcb

3

ฉันไม่มีโชคจนกว่าฉันจะลองตั้งค่าตัวแปรสภาพแวดล้อม http_proxy

http://developer.android.com/tools/help/emulator.html

"หากไม่ได้ระบุคำสั่ง -http-proxy โปรแกรมจำลองจะค้นหาตัวแปรสภาพแวดล้อม http_proxy และใช้ค่าใด ๆ ที่ตรงกับรูปแบบที่อธิบายไว้ข้างต้นโดยอัตโนมัติ"


3

ติดตั้งProxifierในคอมพิวเตอร์โฮสต์ของคุณ ติดตั้ง Proxifier ใช้พร็อกซี คุณไม่จำเป็นต้องทำอะไรอีก คุณจะสบายดี Proxifier ดักจับการโทรจากระบบ (รวมถึงโปรแกรมจำลอง android) และกำหนดเส้นทางผ่านพร็อกซีที่กำหนดค่าไว้


3
โปรดทราบว่า Proxifier เป็นซอฟต์แวร์เชิงพาณิชย์ที่ต้องซื้อ
Robert

2

ไม่มีอะไรใช้งานได้ฉันใช้ eclipse บน windows 64-bit: ทำตามขั้นตอนต่อไปนี้ ... มันใช้ได้กับฉัน: Window -> Preferences -> Android -> Launch -> Default Emulator Options -http-proxy = "http: / /10.1.8.30:8080 "

ในหน้าต่างคราสของคุณ


2

บางครั้งแม้หลังจากตั้งค่าทั้งหมดแล้วก็อาจไม่ได้ผล ฉันได้ลองวิธีการทั้งหมดเช่น

  1. การตั้งค่าพร็อกซีใน Emulator APN
  2. การตั้งค่าผ่านการตั้งค่า eclipse -> Android -> Launch

ไม่มีอะไรทำงาน จากนั้นฉันก็ทำสิ่งต่อไปนี้ซึ่งได้ผลทันที

ไปที่ eclipse Run -> เรียกใช้การกำหนดค่า ภายใต้แอปพลิเคชัน Android คุณจะเห็นแอปพลิเคชันของคุณ ตอนนี้ทางด้านขวามือให้คลิกที่แท็บเป้าหมาย ภายใต้ 'ตัวเลือกบรรทัดคำสั่ง Emulator เพิ่มเติม' ให้เพิ่มสิ่งต่อไปนี้

-dns-server < เซิร์ฟเวอร์ DNS จากเครื่องภายในของคุณไม่เกินสาม > -http-proxy http: // < your proxy >: < your proxy port >

สิ่งที่จับได้คือการตั้งค่าเซิร์ฟเวอร์ DNS ควรมาจากระบบภายในของคุณ ไปที่cmd prompt และเรียกใช้ipconfigเพื่อตรวจสอบเซิร์ฟเวอร์ DNS ของคุณ เช่นเดียวกับพร็อกซีเซิร์ฟเวอร์และพอร์ต สิ่งที่เหมาะกับเบราว์เซอร์ของคุณควรใส่ไว้ที่นี่


2

วิธีที่ง่ายที่สุดคือการลบ APN เริ่มต้นจากโปรแกรมจำลอง (ในกรณีของฉันคือ T- mobile) และสร้าง APN ใหม่ด้วยการตั้งค่าพร็อกซีของคุณ

หมายเหตุ: ฉันได้ลองใช้ตัวเลือกบรรทัดคำสั่งทั้งหมดแล้วและยังลองตั้งค่าพร็อกซีสำหรับ APN เริ่มต้นของอีมูเลเตอร์ แต่ไม่มีอะไรทำงาน


ฉันดิ้นรนมานานกว่าหนึ่งเดือน แต่ในที่สุดก็ใช้งานได้ ... ขอบคุณ @usergo คำตอบของเขาทำให้ฉันมีเบาะแสนี้
Mahesh

2

ขึ้นอยู่กับสภาพแวดล้อมที่คุณใช้ในการเรียกใช้โปรแกรมจำลองตรวจสอบบันทึกเพื่อดูว่าโปรแกรมจำลองเริ่มทำงานอย่างไร เหมืองเริ่มต้นด้วย:

C: \ Users \ johan \ AppData \ Local \ Android \ Sdk \ tools \ emulator.exe -netdelay ไม่มี -netspeed เต็ม -avd Nexus_5X_API_23

จากนั้นคุณเพิ่มตัวเลือก -http-proxy ในกรณีของฉัน:

C: \ Users \ johan \ AppData \ Local \ Android \ Sdk \ tools \ emulator.exe -netdelay ไม่มี -netspeed เต็ม -avd Nexus_5X_API_23 -http-proxy 192.168.0.22:8888


1

ในกรณีที่คุณอยู่ภายใต้สภาพแวดล้อมพร็อกซีและอินเทอร์เน็ตไม่ทำงานในโปรแกรมจำลองของคุณโปรดอย่าเปลี่ยนการตั้งค่าใด ๆ ในโปรแกรมจำลอง ไปที่โครงการ eclipse ของคุณคลิกขวาคลิกที่ "Run as" จากนั้นคลิกที่ "Run Configuration" ในหน้าต่างป๊อปอัปให้เลือก "Target" และเลื่อนลงมาเล็กน้อยคุณจะพบ "ตัวเลือกบรรทัดคำสั่ง Emulator เพิ่มเติม" ป้อนการตั้งค่าพร็อกซีของคุณที่นี่ใน "ตัวเลือกบรรทัดคำสั่ง Emulator เพิ่มเติม" เมื่อฉันป้อน

-http-proxy http: // ee11s040: Om1l2ng3d4n2! 08@hproxy.iitm.ac.in: 3128

ใส่คำอธิบายภาพที่นี่

จากนั้นเริ่มโปรแกรมจำลองใหม่


1

วิธีที่ดีที่สุดในการตั้งค่าพร็อกซีขององค์กรด้วยการพิสูจน์ตัวตน ntlm คือการใช้ cntlm:

http://cntlm.sourceforge.net/

ติดตั้งและกำหนดค่าใน C: \ Program Files \ Cntlm \ cntlm.ini โดยค่าเริ่มต้น cntlm ให้ฟัง 127.0.0.1:3128

ในอุปกรณ์ Android ตั้งค่า APN ใหม่พร้อมพร็อกซีโฮสต์ 10.0.2.2 และพอร์ต 3128 10.0.2.2 เป็นนามแฝงพิเศษสำหรับอินเทอร์เฟซลูปแบ็คโฮสต์ของคุณ (127.0.0.1 บนเครื่องพัฒนาของคุณ)

ดู http://developer.android.com/tools/devices/emulator.html#emulatornetworking

ความนับถือ


1

คุณแน่ใจหรือไม่ว่าที่อยู่ของคุณคือ 168.192.1.2 ไม่ใช่ 192.168.1.2

สังเกตตัวเลขสองตัวแรกที่สลับกัน



0

มีโปรแกรมจำลอง AVD android:

  1. เปิดโปรแกรมจำลอง (".. \ android-sdk \ AVD Manager.exe")
  2. ไปที่เครื่องมือ
  3. ไปที่ตัวเลือก
  4. ในการตั้งค่าพร็อกซี:

ในฟิลด์แรก (HTTP Proxy Server) ตั้งค่าเฉพาะที่อยู่ IP ซึ่งเป็นพร็อกซีของคุณ (XXX.XXX.XXX.XXX) ในฟิลด์ที่สองให้ตั้งค่าพอร์ตของพร็อกซีของคุณ (ตัวอย่าง: 8080)

จากนั้นคลิกปิดบนหน้าต่างและเริ่มโปรแกรมจำลอง

---- เพิ่ม ... จากนั้นขั้นตอนของ alex ก็ใช้ได้กับกรณีของฉัน:

Click on Menu
Click on Settings
Click on Wireless & Networks
Go to Mobile Networks
Go to Access Point Names
Here you will Telkila Internet (or other name), click on it.
In the Edit access point section, input the "proxy" and "port"

นี่เป็นการตั้งค่าพร็อกซีสำหรับตัวจัดการ SDK สำหรับการดาวน์โหลดไฟล์ SDK เท่านั้น
Brad

0

คุณสามารถตั้งค่าพร็อกซีในแอปของคุณ ซึ่งสามารถทำได้โดยใช้คลาสการตั้งค่า ตัวอย่างเช่นคุณสามารถเพิ่มบรรทัดต่อไปนี้ในเมธอด "onCreate" ของคุณ

 Settings.System.putString(getContentResolver(), Settings.System.HTTP_PROXY, "myproxy:8080"); 

ในการเปลี่ยนการตั้งค่าพร็อกซีคุณต้องมีสิทธิ์ android.permission.WRITE_SETTINGS ในไฟล์ AndroidManifest.xml ของคุณ


0

สำหรับตัวleanbackเลียนแบบ (TV) บางตัวคุณสามารถใช้ cmd:

adb shell settings put global http_proxy 10.0.2.2:8888

  • 8888 - เป็นพอร์ตของพร็อกซีบนเครื่องท้องถิ่น (โฮสต์) ดังนั้นบนเครื่องโลคัล http พร็อกซีจะเป็น 127.0.0.1:8888

ในการลบพรอกซี (เรียกใช้ตามลำดับในบรรทัด cmd):

adb shell settings delete global http_proxy

adb shell settings put global global_http_proxy_host ""

adb shell settings put global global_http_proxy_port ""

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.