Cài proxy cho Genymotion và Android Studio Emulator
Cài proxy cho Genymotion và trình giả lập của Android Studio là thiết lập để máy ảo Android gửi lưu lượng qua máy chủ trung gian, giúp thử ứng dụng theo khu vực, bắt lưu lượng hay làm việc sau mạng công ty. Gợi ý tìm kiếm cho thấy anh em hay gặp lỗi "proxy not working" và "proxy settings missing". ProxyVN hướng dẫn từng cách, kèm giới hạn chính thức để anh em không mất công thử sai.
Tổng quan về cài proxy cho Genymotion và Android Emulator
Genymotion và Android Emulator là hai trình giả lập dành cho phát triển và kiểm thử ứng dụng. Khác với LDPlayer hay BlueStacks thiên về chơi game, hai công cụ này tập trung vào việc chạy ứng dụng gần giống thiết bị thật, có công cụ gỡ lỗi đi kèm. Việc cài proxy cho Genymotion hay Android Emulator vì vậy thường gắn với nhu cầu kỹ thuật hơn là quản lý tài khoản.
Ba lớp proxy cần phân biệt

Ba lớp proxy trên giả lập
Nhiều lỗi xuất phát từ việc nhầm giữa các lớp proxy. Có ba lớp chính:
- Proxy của ứng dụng giả lập: Genymotion Desktop có tuỳ chọn proxy để chính phần mềm đăng nhập, tải ảnh hệ thống khi máy anh em ở sau proxy. Lớp này không quyết định ứng dụng trong máy ảo đi ra Internet thế nào.
- Proxy của bộ giả lập: Android Emulator có Emulator Proxy, đặt bằng cờ -http-proxy hoặc trong Extended controls. Lớp này nằm giữa máy ảo và mạng thật.
- Proxy hệ thống Android: cấu hình trong Wi-Fi của Android hoặc bằng lệnh adb. Lớp này nằm trong hệ điều hành của máy ảo.
Khi nào dùng lớp nào
Nếu chỉ cần máy ảo truy cập Internet sau proxy công ty, Emulator Proxy là đủ. Nếu cần ứng dụng trong máy ảo đi qua proxy như trên điện thoại thật, dùng proxy hệ thống Android. Nếu Genymotion không đăng nhập được vì mạng công ty chặn, cấu hình proxy của ứng dụng Genymotion.
Mục đích thường gặp
- Kiểm thử theo khu vực: xem ứng dụng hiển thị nội dung, giá, quảng cáo thế nào ở từng quốc gia.
- Bắt và phân tích lưu lượng: đi qua công cụ như Charles để xem yêu cầu API của ứng dụng.
- Làm việc sau proxy công ty: máy tính trong mạng công ty bắt buộc đi qua proxy.
- Tái hiện lỗi mạng: thử ứng dụng khi kết nối chậm, mất gói, IP thay đổi.
Cài proxy cho Android Studio Emulator bằng cờ dòng lệnh
Cách nhanh nhất để đặt proxy cho Android Emulator là thêm cờ -http-proxy khi khởi động. Theo tài liệu đặt proxy cho Emulator, proxy có thể ở dạng http://machineName:port hoặc http://username:password@machineName:port.

Cờ -http-proxy khi khởi động
Lệnh khởi động có proxy
Mở Command Prompt hoặc Terminal, vào thư mục emulator trong Android SDK rồi chạy lệnh. Thay MyAvd bằng tên thiết bị ảo của anh em:
emulator -list-avds
emulator @MyAvd -http-proxy http://103.x.x.11:8080
emulator @MyAvd -http-proxy http://user01:matkhau01@103.x.x.11:8080
Lệnh đầu liệt kê tên các thiết bị ảo. Lệnh thứ hai dùng proxy không xác thực. Lệnh thứ ba dùng proxy có tài khoản và mật khẩu. Các tham số dòng lệnh khác có trong tài liệu chạy emulator từ dòng lệnh.
Dùng biến môi trường http_proxy
Theo tài liệu, emulator kiểm tra biến môi trường http_proxy khi khởi động và tự dùng nếu biến được định nghĩa. Trên Windows, đặt biến trước khi chạy:
set http_proxy=http://user01:matkhau01@103.x.x.11:8080
emulator @MyAvd
Trên macOS và Linux, dùng export http_proxy=... thay cho set. Cách này tiện khi đã có biến môi trường cho các công cụ khác, nhưng cũng dễ gây nhầm nếu quên biến đang đặt.
Mã hoá mật khẩu có ký tự đặc biệt trong -http-proxy
Nếu mật khẩu chứa @, :, /, #, mã hoá URL trước khi đưa vào chuỗi proxy, ví dụ @ thành %40. Không mã hoá, emulator sẽ tách sai chuỗi và báo lỗi xác thực khó hiểu.
Cài proxy cho Android Emulator bằng Extended controls
Nếu không muốn gõ lệnh, Android Emulator có giao diện đặt proxy trong bảng điều khiển mở rộng. Theo tài liệu chính thức, anh em vào Extended controls > Settings > Proxy và nhập cấu hình proxy HTTP thủ công.

Extended controls > Settings > Proxy
Các bước thực hiện
- Khởi động thiết bị ảo từ Android Studio.
- Trên thanh công cụ bên cạnh cửa sổ giả lập, bấm nút ba chấm để mở Extended controls.
- Chọn Settings, chuyển sang thẻ Proxy.
- Bỏ chọn dùng cấu hình proxy của Android Studio nếu muốn nhập riêng, chọn cấu hình thủ công.
- Nhập tên máy chủ, cổng, bật xác thực nếu proxy có tài khoản và mật khẩu.
- Bấm Apply, sau đó khởi động lại emulator.
Tài liệu ghi rõ phải khởi động lại emulator thì cài đặt mới có hiệu lực. Emulator lưu cài đặt này cho thiết bị và khôi phục khi khởi động lại.
Cấu hình proxy kế thừa từ Android Studio
Khi chạy emulator từ Android Studio, emulator đọc cấu hình proxy của IDE một lần để điền vào Emulator Proxy. Cấu hình này không ảnh hưởng tới proxy hệ thống Android trong máy ảo. Nếu Android Studio đang đặt proxy công ty, emulator sẽ dùng luôn proxy đó, có thể không phải điều anh em muốn khi kiểm thử theo khu vực.
Cài proxy cho Genymotion và Emulator qua proxy hệ thống Android
Proxy hệ thống Android nằm trong hệ điều hành của máy ảo, giống điện thoại thật. Trình duyệt và phần lớn ứng dụng dùng proxy này. Có hai cách đặt.
Cách 1: Qua mạng AndroidWifi của emulator
Từ API 25 trở lên, emulator có mạng Wi-Fi giả lập tên AndroidWifi. Vào Settings > Network & internet > Internet, bấm biểu tượng bánh răng cạnh AndroidWifi, chọn chỉnh sửa, mở Advanced options, ở mục Proxy chọn Manual. Nhập Proxy hostname và Proxy port, bấm Save. Tên mục có thể khác chút tuỳ phiên bản Android. Bảng các khả năng mạng theo cấp API có trong tài liệu mạng của emulator.
Cách 2: Qua lệnh adb
Lệnh adb đặt proxy toàn cục nhanh hơn, tiện cho kịch bản tự động. Cú pháp:
adb shell settings put global http_proxy 103.x.x.11:8080
adb shell settings get global http_proxy
adb shell settings put global http_proxy :0
Lệnh đầu đặt proxy. Lệnh thứ hai kiểm tra giá trị hiện tại. Lệnh thứ ba gỡ proxy. Lưu ý cách này không có chỗ cho tài khoản và mật khẩu, nên chỉ dùng được với proxy whitelist IP hoặc proxy cục bộ không xác thực. Hướng dẫn adb đầy đủ có trong tài liệu Android Debug Bridge.
Proxy trên máy anh em
Trong emulator, địa chỉ 10.0.2.2 trỏ về máy tính đang chạy emulator. Nếu anh em chạy công cụ proxy cục bộ như Charles ở cổng 8888 trên máy tính, đặt proxy trong emulator là 10.0.2.2:8888. Đây là cách phổ biến để bắt lưu lượng ứng dụng.
Giới hạn quan trọng
Tài liệu chính thức nêu rằng proxy hệ thống Android và Emulator Proxy không thể bật cùng lúc. Một số ứng dụng có thể bỏ qua proxy hệ thống. Emulator Proxy không hỗ trợ danh sách bỏ qua proxy, không giải mã HTTPS mà chỉ chuyển tiếp qua TCP, và không hỗ trợ chuyển tiếp UDP.
Cài proxy cho Genymotion
Genymotion có cách làm riêng. Phần mềm Genymotion Desktop có tuỳ chọn proxy cho chính nó, còn máy ảo bên trong dùng proxy hệ thống Android như thiết bị thật.

Proxy qua Wi-Fi trong Genymotion
Proxy cho ứng dụng Genymotion Desktop
Theo tài liệu Genymotion Desktop, khi máy anh em ở sau proxy, màn hình đăng nhập có lựa chọn View proxy options để đặt loại proxy, tên máy chủ, cổng và xác thực. Cấu hình này giúp Genymotion đăng nhập và tải ảnh thiết bị. Nó không thay cho proxy trong máy ảo.
Proxy hệ thống trong máy ảo Genymotion
Trong máy ảo Genymotion, mạng thường hiển thị dưới dạng Wi-Fi. Anh em vào Settings > Wi-Fi, bấm giữ hoặc bấm bánh răng ở mạng đang kết nối, chọn chỉnh sửa, mở tuỳ chọn nâng cao, đặt Proxy là Manual rồi nhập máy chủ và cổng. Lệnh adb settings put global http_proxy cũng dùng được với Genymotion giống emulator.
Địa chỉ máy chủ khi chạy proxy cục bộ
Với Genymotion, địa chỉ trỏ về máy tính thường khác emulator của Android Studio. Anh em kiểm tra trong tài liệu Genymotion phiên bản đang dùng, hoặc dùng IP mạng LAN của máy tính. Đặt sai địa chỉ là lý do phổ biến khiến proxy cục bộ không chạy.
Cài proxy cho Genymotion khi proxy có tài khoản và mật khẩu
Proxy thương mại thường có tài khoản và mật khẩu. Trên Android, proxy hệ thống qua Wi-Fi không có ô nhập tài khoản. Đây là trở ngại hay gặp khi cài proxy cho Genymotion và emulator.
Cách 1: Dùng Emulator Proxy có xác thực
Với Android Studio Emulator, cờ -http-proxy nhận được dạng có tài khoản và mật khẩu. Đây là cách đơn giản nhất cho emulator.
Cách 2: Dùng proxy whitelist IP
Thêm IP mạng của máy tính vào whitelist của nhà cung cấp. Proxy không cần tài khoản, nên nhập được vào Wi-Fi hoặc adb. Bài xác thực proxy bằng IP whitelist hay user password so sánh hai cách.
Cách 3: Ứng dụng proxy trong máy ảo
Cài ứng dụng như Postern hoặc Super Proxy trong máy ảo. Ứng dụng nhận proxy có tài khoản, tạo VPN cục bộ và đẩy mọi kết nối qua proxy, kể cả ứng dụng bỏ qua proxy hệ thống. Hướng dẫn có trong bài Postern là gì.
Cách 4: Proxy trung gian cục bộ
Chạy một proxy trung gian trên máy tính nhận kết nối không xác thực từ máy ảo, rồi đăng nhập proxy thương mại thay cho máy ảo. Charles và nhiều công cụ khác có tính năng proxy thượng nguồn. Máy ảo chỉ cần trỏ về địa chỉ máy tính.
Bắt lưu lượng sau khi cài proxy cho Genymotion và emulator
Một mục đích phổ biến khi cài proxy cho Genymotion và emulator là bắt lưu lượng để phân tích API. Quy trình gồm hai phần: trỏ proxy và cài chứng chỉ.
Trỏ proxy về công cụ phân tích
Chạy công cụ phân tích trên máy tính, ví dụ Charles ở cổng 8888. Đặt proxy trong máy ảo về địa chỉ máy tính và cổng đó. Kiến thức về Charles có trong bài Charles Proxy là gì, còn bài cách sử dụng Charles proxy theo dõi traffic trên Android có hướng dẫn chi tiết cho Android.
Cài chứng chỉ để xem HTTPS
Để xem nội dung HTTPS, cần cài chứng chỉ gốc của công cụ vào máy ảo. Trên Android, vào Settings > Security > Encryption & credentials > Install a certificate > CA certificate, chọn tệp chứng chỉ. Tên mục khác chút theo phiên bản.
Giới hạn với Android 7 trở lên
Từ Android 7, ứng dụng mặc định không tin chứng chỉ do người dùng cài, trừ khi ứng dụng khai báo cho phép trong cấu hình bảo mật mạng. Với ứng dụng của chính anh em, thêm cấu hình cho bản gỡ lỗi. Với ứng dụng bên thứ ba, nhiều trường hợp không xem được HTTPS. ProxyVN khuyên chỉ phân tích ứng dụng anh em có quyền kiểm thử.
Kiểm thử theo khu vực sau khi cài proxy cho Genymotion
Kiểm thử theo khu vực giúp nhóm phát triển biết người dùng ở từng quốc gia thấy gì. Proxy là công cụ chính cho việc này.
Chọn proxy đúng quốc gia
Mỗi khu vực cần proxy có IP thuộc quốc gia đó. Với thị trường Việt Nam, kiểm thử theo nhà mạng Viettel, VNPT, FPT giúp phát hiện khác biệt về tốc độ và chặn nội dung. Bài geo targeting proxy là gì giải thích các cấp nhắm vị trí.
Đồng bộ ngôn ngữ, múi giờ, vị trí trong máy ảo
Trong máy ảo, đổi ngôn ngữ, múi giờ cho khớp quốc gia. Emulator có mục Location trong Extended controls để đặt toạ độ GPS. Ứng dụng có thể dùng cả IP lẫn GPS để xác định vị trí.
Ghi lại kết quả kiểm thử theo khu vực
Lập bảng ghi khu vực, IP, nhà mạng, phiên bản ứng dụng, kết quả quan sát. Chụp ảnh màn hình khi thấy khác biệt. Bảng này giúp nhóm sản phẩm ra quyết định dựa trên dữ liệu.
Sửa lỗi khi cài proxy cho Genymotion và Android Emulator
Gợi ý tìm kiếm có các cụm "proxy not working", "proxy settings missing". Bảng dưới gom các lỗi phổ biến khi cài proxy cho Genymotion và emulator.
Lỗi |
Nguyên nhân khả dĩ |
Cách xử lý |
|---|---|---|
Đặt proxy xong không có tác dụng |
Chưa khởi động lại emulator |
Khởi động lại sau khi Apply |
Không thấy mục Proxy trong Extended controls |
Phiên bản emulator cũ |
Cập nhật Android Emulator qua SDK Manager |
Ứng dụng vẫn đi thẳng |
Ứng dụng bỏ qua proxy hệ thống |
Dùng Emulator Proxy hoặc ứng dụng tạo VPN |
Không kết nối được proxy cục bộ |
Sai địa chỉ máy chủ trong máy ảo |
Dùng 10.0.2.2 với emulator, kiểm tra Genymotion |
Lỗi xác thực |
Mật khẩu có ký tự đặc biệt chưa mã hoá |
Mã hoá URL, hoặc dùng whitelist |
HTTPS báo lỗi chứng chỉ |
Chưa cài chứng chỉ hoặc ứng dụng không tin |
Cài chứng chỉ, cấu hình bản gỡ lỗi |
Bật cả hai proxy gây lỗi |
Proxy hệ thống và Emulator Proxy xung đột |
Chỉ bật một trong hai |
Kiểm tra proxy ngoài giả lập
Thử proxy trên máy tính bằng curl trước khi đưa vào giả lập:
curl -x http://user01:matkhau01@103.x.x.11:8080 https://api.ipify.org
Nếu curl chạy được mà giả lập không chạy, lỗi nằm ở cấu hình giả lập. Cách đọc kết quả có trong bài cURL proxy là gì.
Kiểm tra IP trong máy ảo
Mở Chrome trong máy ảo, truy cập trang tra IP. Nếu IP là IP thật của máy tính, proxy chưa áp dụng. Nếu trang không tải, proxy đã áp dụng nhưng không kết nối được.
Cài proxy cho Genymotion so với các giả lập khác
Mỗi loại giả lập có thế mạnh khác nhau. Biết rõ giúp anh em chọn đúng công cụ cho việc cần làm.
Tiêu chí |
Android Studio Emulator |
Genymotion |
LDPlayer, BlueStacks |
|---|---|---|---|
Đối tượng chính |
Lập trình viên |
Lập trình viên, kiểm thử |
Người chơi game, MMO |
Chi phí |
Miễn phí |
Có bản trả phí cho doanh nghiệp |
Miễn phí, có quảng cáo |
Proxy có xác thực |
Có qua -http-proxy |
Qua ứng dụng hoặc whitelist |
Qua cài đặt riêng hoặc ứng dụng |
Công cụ gỡ lỗi |
Đầy đủ, tích hợp IDE |
Tốt, có tích hợp |
Hạn chế |
Hướng dẫn cho nhóm giả lập chơi game có trong bài cài proxy cho BlueStacks và cài proxy cho LDPlayer.
Tự động hoá việc cài proxy cho Genymotion và emulator
Khi phải chạy nhiều thiết bị ảo với nhiều proxy, làm tay từng bước rất tốn thời gian. Lập trình viên có thể viết kịch bản nhỏ để tự động hoá việc cài proxy cho Genymotion và Android Emulator.
Kịch bản khởi động nhiều emulator với proxy khác nhau
Ví dụ PowerShell dưới khởi động hai thiết bị ảo, mỗi thiết bị một proxy và một cổng điều khiển riêng. Tên thiết bị và proxy thay theo môi trường của anh em:
$ds = @(
@{avd="Pixel_VN_1"; port=5554; proxy="http://user01:matkhau01@103.x.x.11:8080"},
@{avd="Pixel_VN_2"; port=5556; proxy="http://user02:matkhau02@103.x.x.12:8080"}
)
foreach ($d in $ds) {
Start-Process emulator -ArgumentList "@$($d.avd) -port $($d.port) -http-proxy $($d.proxy)"
}
Mỗi emulator nhận cổng điều khiển khác nhau, adb nhận diện thiết bị theo tên emulator-5554, emulator-5556. Đây là ví dụ triển khai chung dựa trên các cờ dòng lệnh đã nêu trong tài liệu chính thức.
Đặt proxy hệ thống bằng adb cho từng thiết bị
Với nhiều thiết bị đang chạy, dùng tham số -s để chỉ định thiết bị khi gửi lệnh adb:
adb devices
adb -s emulator-5554 shell settings put global http_proxy 10.0.2.2:8888
adb -s emulator-5556 shell settings put global http_proxy :0
Lệnh đầu liệt kê thiết bị. Lệnh thứ hai trỏ thiết bị đầu về công cụ phân tích trên máy tính. Lệnh thứ ba gỡ proxy hệ thống ở thiết bị thứ hai, ví dụ khi thiết bị này đã dùng Emulator Proxy.
Kiểm tra IP tự động
Sau khi khởi động, kịch bản có thể mở trang tra IP trong máy ảo và ghi lại kết quả. Với ứng dụng của chính anh em, thêm màn hình gỡ lỗi hiển thị IP đang dùng giúp kiểm thử viên xác nhận nhanh.
Lưu ý bảo mật khi cài proxy cho Genymotion và emulator
Thiết bị ảo dùng cho kiểm thử thường chứa tài khoản thử, khoá API, dữ liệu mẫu. Đưa lưu lượng qua proxy bên ngoài cần cân nhắc vài điểm bảo mật.
Không dùng proxy miễn phí cho kiểm thử
Proxy miễn phí có thể ghi lại lưu lượng, kể cả token đăng nhập của tài khoản thử và khoá API trong yêu cầu. Với dữ liệu nội bộ, chỉ dùng proxy từ nhà cung cấp rõ ràng hoặc proxy do công ty quản lý. Bài free proxy có an toàn không liệt kê năm rủi ro.
Gỡ chứng chỉ sau khi phân tích
Chứng chỉ gốc của công cụ phân tích cho phép đọc mọi lưu lượng HTTPS của thiết bị. Sau khi phân tích xong, gỡ chứng chỉ khỏi thiết bị ảo, nhất là thiết bị dùng chung trong nhóm. Không cài chứng chỉ này lên điện thoại cá nhân.
Tách thiết bị ảo theo mục đích
Thiết bị dùng bắt lưu lượng nên tách khỏi thiết bị kiểm thử chức năng thông thường. Cách tách này giúp kết quả kiểm thử không bị ảnh hưởng bởi proxy và chứng chỉ của công cụ phân tích.
Hiệu năng khi cài proxy cho Genymotion và emulator
Proxy làm thêm một chặng trên đường đi của dữ liệu. Với giả lập vốn đã tốn tài nguyên, độ trễ thêm vào có thể làm kết quả kiểm thử sai lệch nếu không tính đến.
Chọn proxy gần
Proxy đặt xa làm tăng độ trễ mỗi yêu cầu. Với kiểm thử tốc độ, chọn proxy cùng quốc gia hoặc gần máy chủ ứng dụng. Bài test ping khi mua proxy hướng dẫn đo độ trễ.
Đo trước và sau
Đo thời gian tải màn hình chính khi không có proxy và khi có proxy. Chênh lệch chính là phần do proxy gây ra. Khi báo cáo kết quả kiểm thử, ghi rõ điều kiện mạng để người đọc hiểu đúng.
Cài proxy cho Genymotion trong môi trường công ty
Nhiều lập trình viên làm việc trong mạng công ty bắt buộc đi qua proxy. Trường hợp này, việc cài proxy cho Genymotion và emulator không nhằm đổi IP mà để thiết bị ảo truy cập được Internet.
Lấy thông tin proxy công ty
Hỏi bộ phận IT địa chỉ, cổng và cách xác thực của proxy công ty. Một số công ty dùng tệp PAC tự động cấu hình. Trong trường hợp đó, đọc tệp PAC để biết proxy thật cho từng tên miền. Bài PAC proxy giải thích cách tệp này hoạt động.
Cấu hình theo thứ tự
Đầu tiên đặt proxy cho Android Studio hoặc ứng dụng Genymotion để tải được SDK và ảnh thiết bị. Sau đó đặt Emulator Proxy hoặc proxy hệ thống để thiết bị ảo truy cập Internet. Kiểm tra từng bước trước khi chuyển sang bước tiếp theo.
Chứng chỉ của proxy công ty
Một số proxy công ty kiểm tra HTTPS bằng chứng chỉ riêng. Thiết bị ảo không tin chứng chỉ này sẽ báo lỗi kết nối an toàn. Cài chứng chỉ công ty vào thiết bị ảo theo hướng dẫn của bộ phận IT, và chỉ làm trên thiết bị phục vụ công việc.
Câu hỏi thường gặp về cài proxy cho Genymotion
Emulator Proxy có hỗ trợ SOCKS5 không
Tài liệu chính thức mô tả cờ -http-proxy với định dạng http. Nếu cần SOCKS5, anh em dùng ứng dụng tạo VPN trong máy ảo hoặc proxy trung gian cục bộ chuyển từ HTTP sang SOCKS5.
Có dùng được proxy 4G cho giả lập không
Được. Proxy 4G giúp ứng dụng thấy IP di động như người dùng thật. Anh em có thể mua proxy 4G Viettel, VNPT, FPT tại ProxyVN để kiểm thử ứng dụng trên mạng di động Việt Nam.
Đổi proxy có cần xoá dữ liệu máy ảo không
Không bắt buộc. Nhưng nếu đang kiểm thử khu vực, xoá dữ liệu ứng dụng giúp ứng dụng xác định lại vị trí từ đầu, tránh kết quả bị ảnh hưởng bởi lần chạy trước.
Genymotion có miễn phí cho cá nhân không
Genymotion có các gói khác nhau cho cá nhân và doanh nghiệp, chính sách có thể thay đổi theo thời gian. Anh em xem trang chính thức để biết điều kiện sử dụng hiện hành. Android Studio Emulator thì miễn phí và đi kèm Android SDK.
Xem thêm:
Tổng kết
Cài proxy cho Genymotion và Android Emulator cần phân biệt ba lớp: proxy của phần mềm, proxy của bộ giả lập và proxy hệ thống Android. Dùng -http-proxy hoặc Extended controls cho emulator, Wi-Fi hoặc adb cho máy ảo, và nhớ khởi động lại. Cần proxy kiểm thử theo nhà mạng, liên hệ Proxy.vn - Nhà cung cấp dịch vụ proxy chất lượng hàng đầu Việt Nam để cài proxy cho Genymotion đúng cách.