Giả lập Android trên trình duyệt có thể mang hai nghĩa rất khác nhau. Hoặc chính cái tab giả lập một chiếc điện thoại, hoặc tab chỉ là cửa sổ nhìn vào Android đang chạy ở nơi khác, màn hình được stream về cho bạn còn cú nhấp của bạn được gửi ngược lại. Với bất kỳ bản Android hiện hành nào, chỉ cách thứ hai chạy được.
Như vậy vẫn còn năm lựa chọn thực tế, từ một thử nghiệm cuối tuần đến một chiếc máy bạn giữ nhiều tháng. Dưới đây là mỗi lựa chọn chạy cái gì, cần thiết lập gì và hợp với ai, kèm theo một bảng đặt chúng cạnh nhau.
1. Giả lập ngay bên trong tab
WebAssembly giúp biên dịch một trình giả lập PC để nó chạy được trong trang web. v86 là ví dụ nổi tiếng nhất: nó giả lập một PC x86 32-bit và khởi động được các hệ Linux nhỏ cùng hệ điều hành đời cũ ngay trong tab. Các dự án kiểu này là kỹ thuật ấn tượng và thử cho vui thì rất đáng.
Chúng không phải là cách để chạy Android hiện hành. Một hệ thống Android hiện đại cần hàng gigabyte bộ nhớ, CPU nhanh và GPU, còn một trình giả lập chạy bên trong JavaScript engine không có chút dư địa nào như vậy. Chúng tôi chưa thấy dự án nào chạy được một bản Android hiện hành trong tab ở tốc độ dùng được, nên hãy dè chừng những lời hứa kiểu "Android đầy đủ trên trình duyệt, không cài gì, không stream gì".
2. Emulator của riêng bạn, stream ra trình duyệt
Nếu bạn quản lý một máy chủ Linux có KVM, chính công cụ của Google có thể đưa màn hình emulator vào một tab trình duyệt.
- Android Emulator trong container. Bộ android-emulator-container-scripts mã nguồn mở của Google đóng gói emulator trong Docker và thêm cầu nối WebRTC cùng một giao diện web nhỏ.
- Cuttlefish. Thiết bị ảo hướng máy chủ của Google tự phục vụ giao diện WebRTC riêng. Khi thiết bị đã chạy, màn hình và các nút điều khiển mở được trên trình duyệt, mặc định ở cổng 8443 của host.
HOME=$PWD ./bin/launch_cvd --daemon adb devices
Con đường này là phần mềm miễn phí và cho bạn toàn quyền kiểm soát, kể cả ADB tới từng instance. Cái giá là host: KVM, image, cập nhật, TLS, xác thực và tính toán dung lượng đều do bạn lo. Nó hợp với những đội đã vận hành hạ tầng Linux và muốn có emulator ngay trong mạng nội bộ của mình.
3. Dịch vụ stream emulator có sẵn
Một số dịch vụ chạy emulator giúp bạn và stream chúng vào trang web, thường dưới dạng trình phát nhúng được. Chúng được làm cho việc xem trước ứng dụng: demo trên landing page, ảnh chụp màn hình tương tác trong tài liệu, nhân viên hỗ trợ hướng dẫn khách hàng qua phần cài đặt, người duyệt mở một bản build mà không phải cài gì.
Phiên thường ngắn và mỗi lần bắt đầu từ một image sạch, còn thiết bị là một hồ sơ emulator chung chung. Như vậy là lý tưởng cho demo, nhưng bị giới hạn với bất cứ việc gì phụ thuộc vào mẫu điện thoại, hoặc vào trạng thái cần giữ được đến ngày mai.
4. Cloud thiết bị thật
Device cloud giữ những giá điện thoại vật lý và stream chúng tới trình duyệt của bạn. Bạn có hàng thật: firmware và giao diện của hãng, camera, GPU và pin. Đây là thứ gần nhất với chiếc điện thoại trên tay mà không cần sở hữu nó.
Những đánh đổi đến từ việc dùng chung phần cứng. Phiên bị giới hạn thời gian, điện thoại thường bị xóa sạch khi bạn rời đi, mẫu máy phổ biến có thể đang bận, và giá phản ánh chi phí giữ cho thiết bị vật lý sống. Device Streaming của Android Studio đi theo cùng mô hình nhưng stream điện thoại vật lý vào IDE thay vì trình duyệt, và đó thường là thứ một lập trình viên đang tìm giả lập trên trình duyệt thật sự cần.
5. Điện thoại đám mây
Điện thoại đám mây là Android chạy trong data center dưới dạng một mẫu điện thoại cụ thể, được giữ cho bạn như một thiết bị. Bạn mở màn hình của nó trên trình duyệt, điều khiển bằng chuột và bàn phím, rồi quay lại sau: ứng dụng, phiên đăng nhập và dữ liệu vẫn còn cho đến khi bạn đặt lại máy.
Clousd hoạt động theo cách này: điện thoại dựng từ hơn 150 mẫu máy thật trên Android 12 đến 17, sẵn sàng trong khoảng một phút, có REST API, MCP server cho AI agent và ADB qua relay bên cạnh màn hình trên trình duyệt. Giới hạn là những điều mọi điện thoại ảo hóa đều có: không có camera hay cảm biến thật, và hiệu năng đồ họa không đại diện cho thiết bị vật lý. Danh sách mẫu máy cho thấy những gì đang có.
Năm cách đặt cạnh nhau
| Giả lập trong tab | Tự host, stream ra | Dịch vụ stream emulator | Cloud thiết bị thật | Điện thoại đám mây | |
|---|---|---|---|---|---|
| Thứ đang chạy | trình giả lập bên trong tab | Android Emulator hoặc Cuttlefish trên máy chủ của bạn | Android Emulator trên máy chủ của họ | điện thoại vật lý | Android trên máy chủ, thiết lập như một mẫu điện thoại |
| Android hiện hành | không | có | có | có | có |
| Thiết bị hiện ra là | không áp dụng | chung chung | chung chung | đúng chiếc điện thoại thật | mẫu máy đã chọn |
| Thiết lập | không | host Linux có KVM | không | không | không |
| Trạng thái giữa các phiên | không | nếu bạn giữ lại | thường là không | thường bị xóa | được giữ |
| ADB | không | có | tùy dịch vụ | thường có | thường có, qua relay |
| Hợp nhất cho | thỏa trí tò mò | dàn máy nội bộ | demo và xem trước | test phụ thuộc phần cứng | test, máy dùng lâu dài, agent |
Để hiểu sâu hơn một emulator trên máy chủ khác gì một điện thoại dựng từ mẫu máy thật, xem bài giải thích về giả lập Android trên đám mây.
Kiểm tra gì trước khi chọn
- Độ trễ. Mỗi lần chạm phải đi tới máy chủ và khung hình mới đi ngược về. Khoảng cách quan trọng hơn băng thông: máy chủ ở châu lục khác thêm một độ trễ bạn cảm nhận được ở mỗi lần vuốt. Máy chủ của Clousd đặt tại EU, ở Frankfurt và Helsinki, nên vòng khứ hồi ngắn nhất là từ châu Âu.
- Nhập liệu. Thử gõ bằng bàn phím, dán từ clipboard, cử chỉ chụm ngón và thao tác quay lại. Các phiên trên trình duyệt khác nhau nhiều nhất ở đây.
- Google Play. Image emulator có loại có Play, có loại không; thiết bị vật lý thì có; điện thoại đám mây tùy nhà cung cấp. Nếu bài test cần Play services, hãy kiểm tra trước khi bắt đầu.
- Log. Một phiên chỉ có trình duyệt cho bạn thấy app crash nhưng không cho biết vì sao. Hãy chắc là bạn truy cập được logcat, tốt nhất là qua ADB. Tài liệu ADB cho thấy việc đó trông thế nào khi đi qua relay.
- Bản build của bạn đi đâu. Tải APK lên một dịch vụ bạn không xác định được là trao code của mình cho người lạ. Không bao giờ tải lên bản build có chứa khóa production.
Việc nào hợp với cách nào
- Cho khách hàng hoặc người duyệt xem app: dịch vụ stream emulator, hoặc điện thoại đám mây nếu họ cần quay lại xem tiếp.
- Test bố cục trên những chiếc điện thoại người dùng đang có: điện thoại đám mây hoặc cloud thiết bị thật.
- Camera, cảm biến, hiệu năng: cloud thiết bị thật hoặc chiếc điện thoại trên bàn bạn.
- Emulator ngay trong mạng nội bộ: tự host Cuttlefish hoặc emulator container.
- Một chiếc máy giữ hàng tuần, hoặc máy cho AI agent: điện thoại đám mây.
- Debug ứng dụng bạn đang viết: không cách nào ở trên. Hãy dùng emulator trong Android Studio trên máy của chính bạn.
Nếu bạn sắp chạy phiên test đầu tiên, test ứng dụng Android online đi qua phần cài đặt, log và một lượt smoke test lặp lại được.
Những lựa chọn miễn phí
Giả lập trong tab thì miễn phí và không chạy được Android hiện hành. Tự host bản stream là phần mềm miễn phí trên phần cứng bạn trả tiền và tự chăm sóc. Cloud thiết bị thật và dịch vụ stream emulator có gói miễn phí giới hạn hoặc bản dùng thử. Điện thoại đám mây thường cũng có bản dùng thử; dùng thử điện thoại đám mây miễn phí cho bạn 30 phút, không cần thẻ. Để đi đường ngắn nhất từ một đường link đến ứng dụng đang chạy, xem giả lập Android online.


