จำลองการเชื่อมต่อเครือข่ายต่ำสำหรับ Android [ปิด]


228

ฉันต้องการทดสอบแอปพลิเคชันของฉันสำหรับกรณีการเชื่อมต่อเครือข่ายเหลือน้อย วิธีที่ดีที่สุดในการทำเช่นนี้นอกจากยืนอยู่ในลิฟต์คืออะไร? ฉันลองห่อโทรศัพท์ด้วยอลูมิเนียมฟอยล์ แต่มันก็ไม่ได้ช่วยอะไรมาก

ฉันต้องการทดสอบบนอุปกรณ์จริงไม่ใช่ในอีมูเลเตอร์


1
ยังมีงานวิจัยกรงฟาราเดย์ พวกมันสร้างง่าย
jww

คำตอบ:


119

คุณสามารถใช้โปรแกรมจำลองการทำงานนี้ ลองดูที่หน้าเว็บนี้: Android Emulator ให้ความสนใจกับข้อโต้แย้งสองข้อถัดไป:

  1. -netdelay <delay>

    ตั้งค่าการจำลองเวลาแฝงของเครือข่ายเป็น ค่าเริ่มต้นคือไม่มี ดูตารางใน Network Emulation Delay Emulation สำหรับค่าที่รองรับ

  2. -netspeed <speed>

    ตั้งค่าการจำลองความเร็วเครือข่ายเป็น ค่าเริ่มต้นเต็มแล้ว ดูตารางในการจำลองความเร็วเครือข่ายสำหรับค่าที่รองรับ

    ความเร็วสำหรับการอ้างอิงในการเพิ่ม kbps:

                            UP       DOWN
                      -------- ----------
    gsm   GSM/CSD         14.4       14.4
    hscsd HSCSD           14.4       57.6
    gprs  GPRS            28.8       57.6
    umts  UMTS/3G        384.0      384.0
    edge  EDGE/EGPRS     473.6      473.6
    hsdpa HSDPA         5760.0   13,980.0
    lte   LTE         58,000.0  173,000.0
    evdo  EVDO        75,000.0  280,000.0
    full  No limit                     

15
ขอบคุณมาก แต่อย่างที่ฉันพูดฉันต้องการทดสอบอุปกรณ์จริง มีวิธีใดบ้างที่ฉันสามารถทำได้บนโทรศัพท์ htc หรือ samsung
Maggie

2
ฉันเดาว่าวิธีเดียวที่จะไปคือมีเราเตอร์ wi-fi / AP ซึ่งสามารถควบคุมความเร็วเครือข่าย นี่เป็นสิ่งที่มากกว่าผู้ดูแลระบบเครือข่าย แต่ในทางทฤษฎีควรเป็นไปได้
inazaruk

78
ฉันใช้ลิฟต์ :) แต่ขอบคุณทุกคน
Maggie

3
สำหรับการจำลองเวลาในการตอบสนองผ่าน HTTP ให้ใช้ ResponseCache.setDefault (ใหม่ CacheResponse () {... }) และทำการเรียกใช้ Thread.sleep (200) สิ่งนี้มีความได้เปรียบในการควบคุมเชิงโปรแกรม (เช่นในกิจกรรมเดียวเท่านั้น) และไม่มีผลกระทบต่อกระบวนการอื่น ๆ อย่างไรก็ตามสำหรับการทดสอบที่สมจริงยิ่งขึ้นคุณควรกำหนดขีด จำกัด บนเราเตอร์ของคุณหรือใช้tcคำสั่ง (จาก busybox)
yingted

112
ทำไมเรื่องนี้ถึงได้รับการยอมรับว่าเป็นคำตอบ? คำถามที่ระบุไว้อย่างชัดเจน "ไม่อยู่ในโปรแกรมจำลอง"
Kyle Ivey

272

นี่อาจฟังดูบ้าไปหน่อย แต่เตาไมโครเวฟทำหน้าที่เป็นเกราะป้องกันไมโครเวฟ ดังนั้นการวางอุปกรณ์ของคุณไว้ในเตาไมโครเวฟ (อย่าเปิดเตาอบไมโครเวฟในขณะที่อุปกรณ์ของคุณอยู่ด้านใน!) จะทำให้ความแรงของสัญญาณลดลงอย่างมีนัยสำคัญ แน่นอนว่ามันจะเต้นอยู่ในลิฟต์ ...


3
ว้าวตอนนี้ถ้าคุณสามารถแนะนำฉันให้พอดีกับตัวเองในเตาอบเกินไป และเตาอบถูกออกแบบมาเพื่อป้องกัน 2.4 GHz มันอาจไม่ทำงานสำหรับความถี่ที่ต่ำกว่า IDK!
WindRider

2
ไม่ทำงานในไมโครเวฟของฉัน (เช่นการเชื่อมต่อยังคงดี)! อ๊ะ: |
yura

1
หากคุณมีสาย USB ติดอยู่สัญญาณก็สามารถแอบเข้าไปได้ หากอยู่ในไมโครเวฟที่ไม่มีสายไฟใด ๆ เลยก็ไม่ควรรับสัญญาณ คุณควรจะได้รับผลกระทบนี้ด้วยอลูมิเนียมฟอยล์ซึ่งจะไม่ละลายโทรศัพท์เพราะคุณไม่สามารถปิดโทรศัพท์โดยไม่ตั้งใจ
John Moore

เตาอบไมโครเวฟยังคงเป็นตัวเลือกที่ดีหากคุณจำเป็นต้องเปิดการเชื่อมต่อทันทีและไม่ต้องการการโต้ตอบกับผู้ใช้เพิ่มเติมซึ่งเป็นกรณีการใช้งานเฉพาะของฉัน
Robert Yang

108

เนื่องจากตัวเลือกผู้พัฒนาiPhonesใช้กับการปล่อยสัญญาณ wifi คุณจะได้รับ iPhone ที่มีiOS 6และสูงกว่า (และได้รับการตั้งค่าuse for developmentsด้วยxcode) ตั้งค่าให้เลียนแบบโปรไฟล์เครือข่ายที่ต้องการเชื่อมต่ออุปกรณ์Androidของคุณไปยังฮอตสปอต

ป้อนคำอธิบายรูปภาพที่นี่


10
นี่คือทางออกที่เรามาถึงด้วย มันเป็นความอัปยศที่เป็นตัวเลือกที่มีสติมากที่สุด ควรสังเกตในคำตอบว่า iPhone ต้องใช้การเชื่อมต่อ 3G / โทรศัพท์มือถือเพื่อให้การแชร์อินเทอร์เน็ตทำงานได้ นอกจากนี้ควรทราบว่าความเร็วในการอัพโหลด / ดาวน์โหลดที่จำเป็นในยูทิลิตี้ของ iPhone จะต้องมีการกลับด้านเพื่อให้สอดคล้องกับอุปกรณ์ที่เชื่อมต่ออินเทอร์เน็ต
Kyle Ivey

ยอดเยี่ยม! เซ่อว่านี่เป็นตัวเลือกที่ดีที่สุดโดยเฉพาะอย่างยิ่งเมื่ออีมูเลเตอร์สามารถทำได้
karl

ตัวเลียนแบบ iPhone สามารถโยง WiFi ได้หรือไม่
Kirill Kulakov

ขอบคุณ เกิดความสับสนว่าจะตั้งค่าอย่างไร นี่คือวิธี - ถ้าคุณอยู่ในแผนโทรศัพท์มือถือที่อนุญาตฮอตสปอตส่วนบุคคล ฉันใช้ iOS 7.12 1) ไปที่การตั้งค่า -> เซลลูล่าร์ -> ฮอตสปอตส่วนบุคคล 2) เลื่อนฮอตสปอตส่วนตัวไปทางขวาเพื่อให้เป็นสีเขียว / เปิด (สามารถเปลี่ยนรหัสผ่านได้ถ้าคุณต้องการ) 3) ย้อนกลับไป 4) เลื่อนลงไปที่ Network Link Conditioner แล้วแตะ เลื่อนเปิดใช้งานไปทางขวาเพื่อให้เป็นสีเขียว / เปิดในที่สุดก็เลือกโปรไฟล์ ฉันเลือก "เครือข่ายแย่มาก" สิ่งนี้ทำให้ฉัน ping (2198ms) ดาวน์โหลด (0.05Mbps) อัปโหลด (0.08Mbps) 5) เชื่อมต่อ Android ของคุณกับฮอตสปอต!
Anthony De Souza

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

71

อัปเดตสำหรับ Android Studio v 1.5 ขึ้นไป
ตามที่ @LouMorda พูดถึงในความคิดเห็นด้านล่างว่าEmulatorแท็บที่กล่าวถึงในโพสต์ต้นฉบับถูกลบออกใน Android Studio v 1.5

AVD Managerตอนนี้พวกเขาได้วางตั้งค่าเหล่านี้ในการตั้งค่าใน Simulator
วิธีเข้าถึงการตั้งค่าเหล่านี้:

  1. เลือก Tools -> Android -> AVD Manager
  2. คลิกที่Edit AVDปุ่ม (ไอคอนดินสอ)
  3. Network Settingsสามารถเข้าถึงได้หลังจากคลิกที่Show Advanced Settingsปุ่ม

นี่คือภาพหน้าจอที่แสดงให้เห็น:
การตั้งค่าความเร็วเครือข่ายและความหน่วงใน Android Studio v 1.5

โพสต์ต้นฉบับ
สำหรับทุกคนที่ใช้ Android Studio IDE:

  1. ไปที่ Run -> Edit Configurations
  2. เลือก Android Application -> [Your App]
  3. เลือกEmulatorแท็บ
  4. ที่นี่คุณสามารถเปลี่ยนค่าต่าง ๆ สำหรับNetwork SpeedและNetwork Latencyเพื่อจำลองความเร็วและเวลาแฝงต่าง ๆ เป็นต้น

หรือคุณสามารถป้อนอาร์กิวเมนต์ต่าง ๆ ในAdditional command line optionsฟิลด์ข้อความตามที่ระบุไว้ในคำตอบของ @ inazaruk

ภาพหน้าจอด้านล่างอธิบายRun Configurationลักษณะหน้าจอนี้:

เรียกใช้หน้าจอการกำหนดค่าใน Android Studio เบต้า 0.8.6

ฉันรู้ว่ามันสายไปหน่อยที่จะตอบคำถามนี้ แต่ฉันหวังว่าสิ่งนี้จะช่วยให้ผู้อื่นประสบปัญหาที่คล้ายกัน!

แก้ไข
สำหรับทุกคนที่ใช้ eclipse โปรดดูคำตอบของ @ Abhiด้านล่าง


1
แท็บนี้ถูกลบใน Android Studio v1.5
Lou Morda

@ S1LENT WARRIOR เวลาในการตอบสนองและอะไรคือความแตกต่างระหว่าง (ตัวอย่าง) "speed: edge, latency: none" และ "speed: full, latency: edge"?
จอห์นนี่ห้า

1
@JohnnyFive speed หมายถึงความเร็วเครือข่ายของคุณและ latency หมายถึงความล่าช้าของเครือข่าย
นักรบ

45

ฉันรู้ว่ามันเป็นคำถามเก่า แต่ ...

โทรศัพท์บางรุ่นในปัจจุบันมีการตั้งค่าให้ใช้ 2G เท่านั้น มันสมบูรณ์แบบสำหรับการจำลองอินเทอร์เน็ตช้าบนอุปกรณ์จริง

ป้อนคำอธิบายรูปภาพที่นี่


สมบูรณ์แบบ! กลับสู่ขอบและอัปโหลดที่ 9kbyte / s
JcV

เยี่ยมมากเหมาะกับความต้องการในปัจจุบันของฉัน ในห้องของฉันการอัปโหลด 200KB เกือบล้มเหลวใน 2G :)
Deleplace

3
ผู้ชายคนนี้เป็น MVP จริง
edwoollard

33

อายุ แต่เฮ้ฉันจะพูดสอดกับวิธีที่เข้าใจผิดของฉันกับ Genymotion

  • ดาวน์โหลดชุดทดลองใช้ฟรีของ Charles: http://www.charlesproxy.com/download/

  • ติดตั้ง

  • คลิกProxy -> Throttle Settings

  • ตั้งค่าความเร็วควบคุม HTTP ของคุณ

  • ปิดหน้าต่างนั้น

  • คลิกProxy -> Throttlingเพื่อเปิดใช้งานเค้น

  • เปิดเครื่องจำลองแบบ Genymotion

  • เปิดการตั้งค่า wifi

  • ลองกดการเชื่อมต่อ wifi ที่เปิดใช้งาน

  • คลิก Modify Network

  • คลิก Show Advanced Options

  • ตั้งค่าProxyเป็นManual

  • ตั้งค่าProxy hostnameการ10.0.3.2

  • ตั้งค่าPortการ8888

  • คลิก Save

และตอนนี้เครือข่ายของคุณจะถูกควบคุม!


คุณได้รับชื่อโฮสต์ 10.0.3.2 จากที่ไหน เป็นค่าเริ่มต้นของ charle หรือไม่
abbood

ชื่อโฮสต์ควรเป็นคอมพิวเตอร์ที่ใช้ที่อยู่เครือข่ายท้องถิ่นของ Charles
MaTriXy

16

คุณยังสามารถทดสอบการเชื่อมต่ออินเทอร์เน็ตที่ช้าบนอุปกรณ์ Android จริง:

ทดสอบกับ Samsung Galaxy S8 + Android 8.0.0

ไปที่การตั้งค่า -> การเชื่อมต่อ -> เครือข่ายมือถือ -> และภายใต้โหมดเครือข่ายคุณสามารถเลือกที่จะใช้การเชื่อมต่อ2Gหรือ3G เท่านั้น


15

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

คุณควรเปลี่ยนการตั้งค่าเริ่มต้นของ Charles เช่นภาพที่ฉันโพสต์ต่อไปนี้

เปิดการตั้งค่าเค้นของคุณ

การตั้งค่าการตั้งค่าเค้นของคุณ

และในที่สุดคุณจะค้นพบสถานะสุทธิได้รับการกำหนดเป็นก้าวที่ต่ำกว่า

ก่อน

การตั้งค่าหลังจาก


2
นี่เป็นทางออกที่เพียงพอเท่านั้น: D
egorikem

8

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

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


8

มีวิธีง่ายๆในการทดสอบความเร็วต่ำบนอุปกรณ์จริงที่ดูเหมือนจะถูกมองข้าม มันต้องใช้การเชื่อมต่อเครือข่าย Mac และอีเธอร์เน็ต (หรือสายอื่น ๆ )

เปิดการแชร์ Wifi บน Mac เปลี่ยนคอมพิวเตอร์ของคุณให้เป็นฮอตสปอตไร้สายเชื่อมต่ออุปกรณ์ของคุณเข้ากับสิ่งนี้ ใช้ Netlimiter / Charles Proxy หรือ Network Link Conditioner (ซึ่งคุณอาจติดตั้งไว้แล้ว) เพื่อควบคุมความเร็ว

สำหรับรายละเอียดเพิ่มเติมและเพื่อทำความเข้าใจว่าคุณควรทดสอบความเร็วเท่าไร: http://opensignal.com/blog/2016/02/05/go-slow-how-why-to-test-apps-on-poor -connections /


การใช้บานหน้าต่างการตั้งค่า "การแชร์" คุณสามารถแบ่งปันการเชื่อมต่อส่วนใหญ่กับคนอื่น ๆ ได้มากที่สุด ฉันตั้งค่าให้แชร์การเชื่อมต่อ WiFi ผ่านบลูทู ธ (ตัวเลือกการเชื่อมต่อผ่านบลูทู ธ ไม่ปรากฏบนโทรศัพท์ Android ของฉันจนกว่าจะติดตั้ง)
Doug Reeder

ในการติดตั้งเครื่องมือปรับสภาพเครือข่ายลิงก์: stackoverflow.com/q/9659382
Pang

7

ใน Android Studio ในขณะที่รันโปรแกรมจำลอง:

1- ปุ่มการตั้งค่า Hit ที่ด้านล่างของแถบด้านข้างเครื่องจำลอง

2- ไปที่มือถือ

3- ตั้งค่าประเภทเครือข่าย

ภาพหน้าจอ


6

Facebook สร้างสิ่งที่เรียกว่าการควบคุมการจราจร Augmented สรุปสั้น ๆ จากหน้า GitHub ของพวกเขา:

Augmented Traffic Control (ATC) เป็นเครื่องมือในการจำลองสภาพเครือข่าย อนุญาตให้ควบคุมการเชื่อมต่อที่อุปกรณ์เชื่อมต่อกับอินเทอร์เน็ต นักพัฒนาสามารถใช้ ATC เพื่อทดสอบแอปพลิเคชันของพวกเขาในสภาพเครือข่ายที่แตกต่างกันเลียนแบบความเร็วสูงมือถือและเครือข่ายที่มีความบกพร่องอย่างรุนแรง ลักษณะของการเชื่อมต่อที่สามารถควบคุมได้ ได้แก่ :

  • แบนด์วิดธ์
  • ความแอบแฝง
  • การสูญเสียต
  • แพ็คเก็ตที่เสียหาย
  • การสั่งซื้อแพ็คเก็ต

เพื่อให้สามารถกำหนดปริมาณการรับส่งข้อมูลเครือข่าย ATC ต้องทำงานบนอุปกรณ์ที่กำหนดเส้นทางการรับส่งข้อมูลและดูที่อยู่ IP ที่แท้จริงของอุปกรณ์เช่นเกตเวย์เครือข่ายของคุณเป็นต้น นอกจากนี้ยังช่วยให้อุปกรณ์ใด ๆ ที่ผ่าน ATC สามารถกำหนดปริมาณการใช้งาน ทราฟฟิกสามารถกำหนดรูปแบบ / ไม่ใช้รูปแบบได้โดยใช้เว็บอินเตอร์เฟสช่วยให้อุปกรณ์ใด ๆ ที่มีเว็บเบราว์เซอร์สามารถใช้ ATC โดยไม่จำเป็นต้องมีแอปพลิเคชันไคลเอนต์

คุณสามารถค้นหาได้ที่นี่ใน GitHub: https://github.com/facebook/augmented-traffic-control

พวกเขายังเขียนโพสต์บล็อกเกี่ยวกับมัน: https://code.facebook.com/posts/1561127100804165/augmented-traffic-control-a-tool-to-simulate-network-conditions/


6

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


นี่เป็นทางออกที่ดีเว้นแต่ว่าคุณจะมีการเชื่อมต่อบลูทู ธ ที่ดีมาก จำเป็นต้องใช้อุปกรณ์เก่าสำหรับสิ่งนี้ :)
นักพัฒนา Android

5

หรือบนอุปกรณ์จริงคุณสามารถไปที่การตั้งค่า -> เครือข่ายมือถือ -> ประเภทเครือข่ายที่ต้องการและเลือกช้าที่สุดที่มีอยู่ ... แน่นอนว่ามันมีข้อ จำกัด มาก แต่สำหรับการทดสอบบางอย่างมันอาจจะเพียงพอ


3

อัปเดตบนสตูดิโอ Android AVD:

  1. เปิดตัวจัดการ AVD
  2. สร้าง / แก้ไข AVD
  3. คลิกการตั้งค่าขั้นสูง
  4. เลือกการตั้งค่าการเชื่อมต่อที่คุณต้องการ

ไม่มีไมโครเวฟหรือลิฟต์ขึ้น :)


3

สำหรับและผู้ใช้ mac OS คุณสามารถใช้ Network Link Conditioner ซึ่งสามารถดาวน์โหลดได้จาก apple ตั้งเป็น AP บน mac และ divices สามารถเชื่อมต่อได้

คุณสามารถใช้เครื่องมือโอเพนซอร์ส Facebook ATC http://facebook.github.io/augmented-traffic-control/


2

คุณต้องการทดสอบว่าไม่มีการเชื่อมต่อเครือข่ายหรือเพียงแค่การเชื่อมต่อเครือข่ายที่ช้าหรือไม่ หากก่อนหน้านี้คุณสามารถไปที่Settings > Wireless & networks > Airplane modeและเปิดโหมดเครื่องบิน ที่จะช่วยให้คุณทดสอบความพร้อมใช้งานของเครือข่ายบนอุปกรณ์จริง


ขอบคุณ แต่ฉันพยายามทดสอบการเชื่อมต่อเครือข่ายต่ำ เช่น. สำหรับสัญญาณ EDGE ต่ำหรืออะไรทำนองนั้น
Maggie

อา. น่าเสียดายที่คุณไม่สามารถปิด 3G และกลับไปใช้ EDGE โรมมิ่งได้ อย่างน้อยในโทรศัพท์ของฉันคุณทำไม่ได้
David Conrad

2

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

ป้อนคำอธิบายรูปภาพที่นี่


2

ฉันดิ้นรนกับปัญหานี้มาครึ่งวันแล้วในที่สุดฉันก็มาหาวิธีแก้ปัญหานี้:

  • การทดสอบบนอุปกรณ์จริงนั้นไม่มีความหมายโดยรวมเนื่องจากคุณต้องผ่านหลาย ๆ อย่างเพื่อให้มันใช้งานได้ วิธีเดียวที่จะทำให้ได้การทดสอบจริงคือการทำให้โทรศัพท์ของคุณเชื่อมต่อกับเครือข่ายเซลลูลาร์คุณภาพต่ำเช่น EDGE หาก บริษัท โทรศัพท์ของคุณเป็นผู้จัดหา คุณสามารถลองทำสิ่งนี้ได้โดยกดหมายเลข*#*#4636#*#*ในแอพโทรศัพท์

  • Android emulator ดั้งเดิมนั้นช้าเกินไปสำหรับการทดสอบและไม่ประสบความสำเร็จมากกว่าวิธีแก้ปัญหาข้างต้น

วิธีที่ดีที่สุดที่จะทำเช่นนี้คือการใช้Genymotion มันเป็นอีมูเลเตอร์ Android ที่มีประสิทธิภาพที่ดีกว่า AVD ดั้งเดิมและรุ่นสำหรับใช้ส่วนตัวฟรี

โปรแกรมจำลองพันธุกรรม

หลังจากที่คุณสร้างอุปกรณ์เสมือนใน Genymotion ให้ทำตามบทช่วยสอนนี้เพื่อตั้งค่าพร็อกซีสำหรับอุปกรณ์

เรียกใช้พร็อกซีเซิร์ฟเวอร์บนเครื่องโฮสต์ของคุณที่จำลองสภาพเครือข่ายที่ไม่ดีเช่นCrapifyหรือToxiproxy (ฉันทดสอบเฉพาะในอดีต) และคุณก็พร้อมที่จะไป

ปรับปรุง:

ฉันเพิ่งรู้ว่าคุณสามารถเลือกกลยุทธ์เดียวกันกับอุปกรณ์จริงด้วย ฉันรู้สึกเหมือนคนงี่เง่าที่ไม่ได้รู้ตัวเร็วกว่านี้ เพียงเริ่มพร็อกซี Crapify บนคอมพิวเตอร์ของคุณตั้งค่าพร็อกซีโทรศัพท์ของคุณไปยังที่อยู่ในเครื่องคอมพิวเตอร์ของคุณและข้อความเสียงคุณจะได้รับอินเทอร์เน็ตเร็ว ๆ นี้บนโทรศัพท์ของคุณ


1

ตามที่แนะนำโดย @VicVu Charles (หรือเครื่องมือพร็อกซีอื่น ๆ ) เป็นวิธีที่ง่ายกว่าในการไป แต่ฉันต้องการเพิ่มว่าคุณสามารถทำได้ด้วยอุปกรณ์ของคุณด้วยไม่ใช่แค่จีโนมหรืออีมูเลเตอร์อื่น ๆ กระบวนการจะเหมือนกัน:

แก้ไขการตั้งค่า wifi ของอุปกรณ์ / ตัวจำลองเพื่อใช้พรอกซีด้วยตนเอง จากนั้นตั้งค่าชื่อโฮสต์และพอร์ต a ตั้งชื่อโฮสต์เป็น ip ของระบบของคุณ (รับ ip ของ pc / mac โดยใช้ ifconfig / ifconfig) b ตั้งค่าหมายเลขพอร์ตของ genymotion (ตรวจสอบการตั้งค่าพร็อกซีใน charles)

PS:อุปกรณ์ / อีมูเลเตอร์ของคุณต้องใช้ wifi เดียวกันเนื่องจาก IP ที่คุณใช้จะเป็นไอพีส่วนตัวมากที่สุด


1
  1. เปิดเทอร์มินัลในแอนดรอยด์สตูดิโอแล้วไปที่ ../../Android/sdk/tools ปฏิบัติการ 'emulator' ควรอยู่ที่นี่

  2. เรียกใช้. /emulator -netdelay "delay_in_millis" -avd "emulator_device_name"

    ตัวอย่าง: ./emulator -netdelay 60000 -avd Nexus_5_API_21

  3. ตอนนี้สร้างแอพของคุณและติดตั้งในอีมูเลเตอร์

  4. เรียกใช้สถานการณ์ของคุณในแอป

ตรวจสอบให้แน่ใจว่าคุณมีการเปลี่ยนแปลงรหัสในแอปที่ตั้งค่าการหมดเวลาตามคำขอของคุณและจัดการกับสิ่งนั้น


1

เพียงไปที่การตรวจสอบอุปกรณ์ Android จากสตูดิโอ Android จากนั้น DDMS -> Emulator Control จะมีคุณสมบัติความเร็วและความหน่วงแฝง


1

ฉันพบว่า netlimiter4 เป็นทางออกที่ดีที่สุดสำหรับการควบคุมปริมาณข้อมูลไปยังอีมูเลเตอร์ มันให้การควบคุมอย่างละเอียดผ่าน gui ที่เหมาะสมและให้ข้อเสนอแนะกราฟิกกับทรูพุตข้อมูลในแต่ละกระบวนการ ขณะนี้อยู่ในรุ่นเบต้าฟรี ภาพหน้าจอ

http://www.netlimiter.com/products/nl4

มีแอพที่มีอยู่ใน play store เพื่อเร่งความเร็วไปยังอุปกรณ์จริง แต่พวกเขาต้องการรูท

ค้นหา bradybound บน play store ฉันไม่สามารถโพสต์มากกว่าหนึ่งลิงก์ ..


1

คุณเคยลองสิ่งนี้หรือไม่? การตั้งค่า - เครือข่าย - อื่น ๆ - เครือข่ายมือถือ - โหมดเครือข่าย - เลือกเครือข่ายที่ต้องการ (เช่น 2G)

อีกวิธีที่ฉันใช้ถูกกล่าวถึงข้างต้น เชื่อมต่อผ่านฮอตสปอตของ iPhone หวังว่านี่จะช่วยได้


1

ฉันใช้พร็อกซีmitmproxy HTTPS https://mitmproxy.org/

Mitmproxy เป็นแอปพลิเคชันพร็อกซี่โอเพนซอร์สที่อนุญาตให้มีการสกัดกั้นการเชื่อมต่อ HTTP และ HTTPS ระหว่างไคลเอนต์ HTTP (S) ใด ๆ จะช่วยให้การตรวจสอบการจับภาพและแก้ไขการเชื่อมต่อเหล่านี้ในเวลาจริง เปลี่ยนคำขอตอบกลับส่วนหัว ... นอกจากนี้คุณสามารถดักจับคำขอที่แตกต่างกันได้

เช่นresponse_delay.py :

from mitmproxy import http
from time import sleep

def response(flow: http.HTTPFlow) -> None:
    sleep(5.0)

จากนั้นการดำเนินการความคิดเห็นนี้จะชะลอการตอบสนองทั้งหมดจากเซิร์ฟเวอร์:

mitmproxy --cert \*.asdf.at=./cert.pem --scripts response_delay.py

ในแอพของฉันฉันกำลังใช้การปักหมุดใบรับรองดังนั้นคุณต้องเพิ่มใบรับรอง (ส่วนตัว + สาธารณะ)

cat private.key public.key> cert.pem

คุณสามารถค้นหาง่ายกวดวิชาที่นี่

คุณสามารถหาตัวอย่างสคริปต์อื่น ๆที่นี่


0

โพสต์เก่ามาก แต่ฉันจะเพิ่มสองเซ็นต์ของฉัน ฉันมีความสุขมากกับผลิตภัณฑ์ฮาร์ดแวร์นี้ ( https://apposite-tech.com/products/linktropy-mini/ ) ซึ่งช่วยให้เราสามารถจำลองสถานการณ์ต่างๆในโลกแห่งความจริงได้มากมาย เป็นเวลานานเรามีความท้าทายในการแก้ไขปัญหาต่าง ๆ ที่จะทำงานในโปรแกรมจำลองหรือโหมดเครื่องบิน

เรามีการตั้งค่าโปรไฟล์ที่แตกต่างกันตั้งแต่การเชื่อมต่อแบบศูนย์ไปจนถึงขั้นตอนต่าง ๆ ของการเชื่อมต่อแบบไร้ขอบโดยมีระดับความหน่วงแฝงที่แตกต่างกันการสูญเสียแพ็กเก็ตและข้อผิดพลาดบิต สิ่งที่ยอดเยี่ยมเกี่ยวกับมันคือเราสามารถเปลี่ยนสิ่งเหล่านี้ได้ทันทีโดยไม่ต้องเปิดใช้งานแอปใหม่ในอีมูเลเตอร์ ราคานี้คุ้มค่ากับร้านค้าของเราทั้งหมดและใช้งานง่ายมาก


0

ฉันจำเป็นต้องเร่งความเร็วอินเทอร์เน็ตต่ำบนอุปกรณ์เนทีฟ AndroidTV และตามสิ่งที่ฉันได้อ่านวิธีที่เหมาะสมที่สุดคือ จำกัด การเข้าถึงอินเทอร์เน็ตโดยตรงในเราเตอร์ของฉัน
ไปที่การตั้งค่าเราเตอร์ (ในเครื่องมีความเหมือน 192.168.0.1) -> ตั้งค่าเซิร์ฟเวอร์ DHCP (หากไม่ได้ทำงาน) -> เลือกที่อยู่ IP ของอุปกรณ์และตั้งข้อ จำกัด

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