Cách thiết lập cài đặt proxy giả lập Android


110

Tôi muốn sử dụng trình duyệt bên trong trình giả lập Android và tôi muốn sử dụng cài đặt proxy trên máy của mình. Làm cách nào để thiết lập điều này?

Đọc các hướng dẫn sử dụng Android rất tốt, họ nói với tôi rằng tôi nên khởi động Android bằng lệnh sau:

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

Nhưng tôi vẫn không thể sử dụng trình duyệt giả lập. Xin lưu ý rằng tôi đang sử dụng địa chỉ IP cho máy chủ proxy của mình.

Tôi đang làm gì sai?

Câu trả lời:


147

Cách đơn giản và tốt nhất là làm như sau: Điều này đã được thực hiện cho Android Emulator 2.2

  1. Bấm vào Menu
  2. Nhấp vào Cài đặt
  3. Nhấp vào Mạng & Không dây
  4. Đi tới Mạng di động
  5. Đi tới Tên điểm truy cập
  6. Ở đây bạn sẽ Telkila Internet, nhấp vào nó.
  7. Trong phần Chỉnh sửa điểm truy cập, nhập "proxy" và "cổng"
  8. Cũng cung cấp Tên người dùng và Mật khẩu, các trường còn lại để trống.

Không làm việc với các trường hợp sử dụng phổ biến nhất của chạy Fiddler2 hoặc proxy khác trên localhost .... có lẽ thêm cổng chuyển tiếp, nhưng đó là một nỗi đau quá
GCB

1
Nó không hoạt động trên trình giả lập Android 2.3.3, nhưng hoạt động trên trình giả lập 4.1.2 đối với tôi.
azgolfer

24
Điều này không có tác dụng nữa trên 5 hình ảnh android (api 21)
neomega

câu trả lời này nên được chấp nhận! Hoạt động với Burpsuite trên mac!
nhà giả kim

điều này cũng hoạt động với Volley! được thêm vào chỉ trong trường hợp ai đó đang gửi thông tin đó.
computingfreak

58

-http-proxy trên Android Emulator

Khi chạy cấu hình> Ứng dụng Android> Ứng dụng> Mục tiêu> Tùy chọn dòng lệnh trình mô phỏng bổ sung: -http-proxy http: //xx.xxx.xx.xx: 8080


đó là phiên bản nhật thực nào? tôi không thấy giao diện này :(
Salman von Abbas

1
Bạn đã cuộn xuống?
Darpan

cũng định cấu hình trình giả lập của bạn
Badre

3
đối với proxy có tên người dùng và mật khẩu, hãy sử dụng định dạng này:-http-proxy http://username:password@host:port
ashakirov

lỗi emulator is not recognized as a commandtrong trường hợp của tôi..tôi có cần thêm bất cứ điều gì trong biến PATH không ??. Tôi đang sử dụng Android Studio 1.0.1 và có proxy trong hệ thống văn phòng của mình.
Anil Bhaskar

40

Bây giờ có một cài đặt trong trình giả lập Android nhập mô tả hình ảnh ở đây



Đã làm cho tôi. Môi trường xung quanh của tôi: MAC OS môi trường xung quanh + android emulator và vĩ tuyến windows 7 với proxy cáy
Arthur Menezes

7
Cài đặt này không bao giờ làm việc cho tôi. Tôi luôn phải khởi động trình giả lập bằng lệnh -http-proxy để nó hoạt động.
gsingh2011

2
Menu này có một lỗi lặp lại đang khiến tôi phát điên từ giữa năm 2017. Đôi khi nó hoạt động, đôi khi không trên cùng một AVD. Chỉ có thể tạo lại AVD một cách đáng tin cậy. Đôi khi proxy bị rơi vào giữa phiên! Trong môi trường công ty, điều đó có nghĩa là tôi đang bị khóa tài khoản của mình vì điều đó.
halxinate

Mặc dù vậy, có vẻ như bây giờ tôi đã tìm ra giải pháp: định cấu hình điểm phát sóng wifi giả mạo đó như trên để sử dụng proxy mặc dù proxy của tôi yêu cầu xác thực, điều mà cấu hình điểm phát sóng đó hoàn toàn không có. Chỉ cần URL và cổng đã giúp khôi phục kết nối bị mất ngay lập tức.
halxinate

20

Tôi đã thử sau khi xóa http trong tên máy chủ và nó hoạt động với tôi.

emulator -avd myavd -http-proxy 168.192.1.2:3300


Này chỉ hoạt động cho trình duyệt, nhưng không yêu cầu ứng dụng đang trải qua proxy :(
Felipe Sabino

14

Điều này sẽ không giúp ích cho trình duyệt, nhưng bạn cũng có thể xác định proxy trong mã của mình để sử dụng với ứng dụng khách 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
Bạn không nên đặt "127.0.0.1" cho Chuỗi PROXY.
Michaël

kuester2000 hãy xem câu hỏi của tôi tại đây stackoverflow.com/questions/31723494/…
Zar E Ahmer,

9

Trên Android Studio:

Nhấp vào Chỉnh sửa cấu hình trong Trình đơn ứng dụng

nhập mô tả hình ảnh ở đây

  1. Chuyển đến Ứng dụng hoặc Ứng dụng Android (làm cài đặt mặc định)
  2. nhấn vào Trình gỡ lỗi
  3. Nhấn vào lệnh khởi động LLDB
  4. Nhấn +
  5. Thêm bạn lệnh -http-proxy http://168.192.1.2:3300

nhập mô tả hình ảnh ở đây

đó là nó.

Nhiều nội dung thú vị hơn nếu bạn muốn sử dụng IP PC của mình, hãy sử dụng lệnh sau:

  • -http-proxy "$(ipconfig getifaddr en0)":8888 trên MacOS
  • -http-proxy "$(hostname -i)":8888 trên Linux

4

Để thiết lập máy chủ proxy, chúng tôi cần thiết APNSlập cài đặt. Để làm điều này:

  1. Đi tới Cài đặt

  2. Đi tới mạng không dây và mạng

  3. Đi tới mạng di động

  4. Chuyển đến tên điểm truy cập. Sử dụng menu để thêm các ứng dụng mới

    Đặt Proxy = localhost

    Đặt Port = cổng mà bạn đang sử dụng để tạo máy chủ proxy, trong trường hợp của tôi là 8989

    Để đặt Tên và apn, đây là liên kết:

    Theo simthẻ của bạn, bạn có thể thấy bảng


"xác thực qua máy chủ proxy không thành công" proxy không yêu cầu xác thực và không bao giờ thấy bất kỳ yêu cầu nào theo kết xuất tcp.
gcb

3

Tôi đã không gặp may cho đến khi thử đặt biến môi trường http_proxy

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

"Nếu lệnh -http-proxy không được cung cấp, trình giả lập sẽ tra cứu biến môi trường http_proxy và tự động sử dụng bất kỳ giá trị nào phù hợp với định dạng được mô tả ở trên."



2

không có gì trong số đó hoạt động Tôi đang sử dụng eclipse trên windows 64-bit: thực hiện các bước sau đây ... nó hoạt động đối với tôi: Window -> Preferences -> Android -> Launch -> Default Emulator Options -http-proxy = "http: / /10.1.8.30:8080 "

trong cửa sổ nhật thực của bạn


2

Đôi khi ngay cả sau khi thiết lập tất cả, nó có thể không hoạt động. Tôi đã thử tất cả các phương pháp như

  1. Đặt proxy trong APN của Emulator
  2. Đặt nó thông qua tùy chọn nhật thực -> Android -> Khởi chạy

Không có gì hoạt động. Sau đó, tôi đã làm như sau mà hiệu quả ngay lập tức.

Goto eclipse Run -> chạy các cấu hình. Trong Ứng dụng Android, bạn có thể thấy ứng dụng của mình. Bây giờ, ở phía bên tay phải, nhấp vào tab Mục tiêu. Trong 'Tùy chọn dòng lệnh giả lập bổ sung', hãy thêm phần sau.

-dns-server <máy chủ DNS từ máy cục bộ của bạn tối đa ba > -http-proxy http: // < proxy của bạn >: < cổng proxy của bạn >

Điều bắt buộc ở đây là cài đặt Máy chủ DNS phải từ hệ thống cục bộ của bạn. Goto cmd nhắc và chạy ipconfig để kiểm tra máy chủ DNS của bạn. Tương tự với máy chủ proxy và cổng. Bất cứ điều gì hoạt động cho trình duyệt của bạn nên được đưa vào đây.


2

Cách dễ nhất là xóa APN mặc định khỏi trình giả lập (trong trường hợp của tôi là T- mobile) và tạo APN mới với cài đặt proxy của bạn.

Lưu ý: Tôi đã thử tất cả các tùy chọn dòng lệnh và cũng đã thử đặt proxy cho APN mặc định của trình giả lập nhưng không có tác dụng gì.


tôi đã đấu tranh cho điều này hơn một tháng nhưng cuối cùng đã nhận nó làm việc ... Nhờ @usergo câu trả lời của ông đã cho tôi đầu mối này
Mahesh

2

Tùy thuộc vào môi trường bạn đang sử dụng để chạy trình mô phỏng, hãy kiểm tra nhật ký để xem trình mô phỏng được khởi động như thế nào. Của tôi được bắt đầu là:

C: \ Users \ johan \ AppData \ Local \ Android \ Sdk \ tools \ emulator.exe -netdelay none -netspeed full -avd Nexus_5X_API_23

Sau đó, bạn thêm tùy chọn -http-proxy, trong trường hợp của tôi:

C: \ Users \ johan \ AppData \ Local \ Android \ Sdk \ tools \ emulator.exe -netdelay none -netspeed full -avd Nexus_5X_API_23 -http-proxy 192.168.0.22:8888


1

Trong trường hợp nếu bạn đang ở trong môi trường proxy và internet không chạy trong trình mô phỏng của bạn, vui lòng không thay đổi bất kỳ cài đặt nào trong trình mô phỏng. Đi tới dự án nhật thực của bạn, nhấp chuột phải, nhấp vào "Chạy dưới dạng" sau đó nhấp vào "Chạy cấu hình". Trong cửa sổ bật lên, chọn "Target" và cuộn xuống một chút, bạn sẽ tìm thấy "Tùy chọn dòng lệnh giả lập bổ sung" Nhập cài đặt proxy của bạn tại đây trong "Tùy chọn dòng lệnh giả lập bổ sung" như tôi đã nhập

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

nhập mô tả hình ảnh ở đây

Sau đó, bắt đầu một Trình giả lập mới.


1

cách tốt nhất để đặt proxy công ty với xác thực ntlm là sử dụng cntlm:

http://cntlm.sourceforge.net/

Cài đặt và cấu hình trong C: \ Program Files \ Cntlm \ cntlm.ini Theo mặc định cntlm, lắng nghe 127.0.0.1:3128

Trong thiết bị Android, đặt APN mới với máy chủ proxy 10.0.2.2 và cổng 3128 10.0.2.2 là một bí danh đặc biệt cho giao diện lặp lại máy chủ của bạn (127.0.0.1 trên máy phát triển của bạn)

xem thêm http://developer.android.com/tools/devices/emulator.html#emulatornetworking

Trân trọng


1

Bạn có chắc chắn rằng địa chỉ của bạn là 168.192.1.2 chứ không phải 192.168.1.2?

Lưu ý hai số đầu tiên được hoán đổi.


1

Trong bảng điều khiển bắt đầu lệnh tiếp theo:

emulator -avd emulator_name -http-proxy you_proxy_ip_address:8080

0

Có trình giả lập Android AVD:

  1. Mở trình mô phỏng (".. \ android-sdk \ AVD Manager.exe")
  2. Đi tới Công cụ
  3. Đi tới Tùy chọn
  4. Trên cài đặt Proxy:

Trên trường đầu tiên (Máy chủ proxy HTTP) chỉ đặt địa chỉ IP là proxy của bạn (XXX.XXX.XXX.XXX) trên trường thứ hai, đặt cổng proxy của bạn (ví dụ: 8080)

Sau đó, nhấp vào Đóng trên cửa sổ và khởi động trình giả lập

---- Đã thêm ... Sau đó, các bước alex hoạt động trên trường hợp của tôi:

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"

Điều này chỉ đặt cài đặt proxy cho trình quản lý SDK để tải xuống các tệp SDK.
Brad

0

Bạn có thể đặt proxy trong ứng dụng của mình. Điều này có thể được thực hiện bằng cách sử dụng lớp Cài đặt. Ví dụ: bạn có thể thêm dòng sau vào phương thức "onCreate" của mình.

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

Để thay đổi cài đặt proxy, bạn phải có quyền android.permission.WRITE_SETTINGS trong tệp AndroidManifest.xml của bạn.


0

Đối với một số leanbacktrình giả lập (TV), bạn có thể sử dụng cmd:

adb shell settings put global http_proxy 10.0.2.2:8888

  • 8888 - là một cổng proxy trên máy cục bộ (máy chủ), vì vậy trên máy cục bộ, proxy http sẽ là 127.0.0.1:8888

Để xóa proxy (chạy tuần tự trong dòng 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 ""

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.