「瀏覽器裡的 Android 模擬器」可能指兩件完全不同的事。一種是分頁本身在模擬一台手機;另一種是分頁只是一扇窗,Android 其實跑在別的地方,畫面串流給你,你的點擊再傳回去。對目前任何一個 Android 版本來說,只有第二種行得通。
即使如此,實際可行的選項還是有五種,從週末玩玩的實驗專案,到一台可以用好幾個月的手機。以下分別說明每一種跑的是什麼、要怎麼設定、適合誰,最後用一張表並排比較。
1. 在分頁裡模擬
WebAssembly 讓 PC 模擬器可以編譯成在網頁裡執行。最有名的例子是 v86:它模擬一台 32 位元 x86 PC,能在分頁裡開機執行小型 Linux 系統和舊作業系統。這類專案的工程實力令人佩服,玩起來也很有趣。
但它們跑不了目前的 Android。現代 Android 系統需要好幾 GB 的記憶體、快速的 CPU 和 GPU,而在 JavaScript 引擎裡執行的模擬器完全沒有這種餘裕。據我所知,沒有任何專案能以可用的速度在分頁裡跑目前的 Android 版本,所以看到「瀏覽器裡的完整 Android,免安裝、免串流」這種宣傳,請保持懷疑。
2. 自己架模擬器,再串流到瀏覽器
如果你有一台支援 KVM 的 Linux 伺服器,Google 自家的工具就能把模擬器的畫面放進瀏覽器分頁。
- 容器裡的 Android Emulator。 Google 開源的 android-emulator-container-scripts 把模擬器包進 Docker,再加上 WebRTC 橋接和一個簡單的網頁前端。
- Cuttlefish。 Google 為伺服器設計的虛擬裝置,自帶 WebRTC 介面。裝置跑起來之後,它的畫面和控制就能在瀏覽器裡打開,預設在主機的 8443 連接埠。
HOME=$PWD ./bin/launch_cvd --daemon adb devices
這條路是自由軟體,你擁有完整控制權,每個執行個體都能用 ADB 連線。代價是主機:KVM、映像檔、更新、TLS、身分驗證和容量規劃,全都得自己來。適合已經在維運 Linux 基礎設施、想把模擬器放在自己網路裡的團隊。
3. 代管的模擬器串流
有些服務幫你跑模擬器,再串流到網頁上,通常是可以嵌入的播放器。它們是為 App 預覽而生的:產品頁上的展示、文件裡可互動的截圖、客服帶著客戶一步步操作設定,或是審查者不用安裝就能打開一個建置版本。
工作階段通常很短,每次都從乾淨的映像檔開始,裝置則是通用的模擬器設定。拿來做展示很理想,但只要牽涉到手機型號,或需要保留到隔天的狀態,就會綁手綁腳。
4. 真機雲
真機雲維護著一整排實體手機,再把畫面串流到你的瀏覽器。你拿到的是真貨:廠商韌體與介面、相機、GPU 和電池。這是不用自己買手機、最接近把手機拿在手上的方式。
取捨來自共用硬體。工作階段有時間限制,離開時手機通常會被清除,熱門機型可能正在被別人用,價格也反映了維護實體裝置的成本。Android Studio 的 Device Streaming 也是同樣的模式,只是把實體手機串流進 IDE 而不是瀏覽器,而這往往才是搜尋「瀏覽器模擬器」的開發者真正想要的。
5. 雲手機
雲手機是在資料中心裡、以特定手機型號運作的 Android,像一台裝置一樣幫你保留著。你在瀏覽器打開它的畫面,用滑鼠和鍵盤操作,之後隨時回來:App、登入狀態和資料都會留著,直到你重置為止。
Clousd 就是這樣運作的:以 150 多款真實機型打造的手機,Android 12 到 17,大約一分鐘就緒,除了瀏覽器畫面,還有 REST API、給 AI Agent 用的 MCP 伺服器,以及透過中繼連線的 ADB。限制則是所有虛擬化手機共通的:沒有真的相機或感測器,圖形效能也無法代表實體裝置。可用機型請見機型清單。
五種方式並排比較
| 分頁內模擬 | 自架並串流 | 代管模擬器串流 | 真機雲 | 雲手機 | |
|---|---|---|---|---|---|
| 跑的是什麼 | 分頁裡的模擬器 | 你伺服器上的 Android Emulator 或 Cuttlefish | 對方伺服器上的 Android Emulator | 實體手機 | 伺服器上的 Android,設定成某款手機型號 |
| 目前的 Android 版本 | 不行 | 可以 | 可以 | 可以 | 可以 |
| 呈現的裝置 | 不適用 | 通用 | 通用 | 真實手機 | 你選的機型 |
| 設定 | 不用 | 有 KVM 的 Linux 主機 | 不用 | 不用 | 不用 |
| 兩次使用之間的狀態 | 不保留 | 你保留就有 | 通常不保留 | 通常會清除 | 保留 |
| ADB | 沒有 | 有 | 看服務 | 通常有 | 通常有,透過中繼 |
| 最適合 | 好奇嘗鮮 | 公司內部的裝置群 | 展示與預覽 | 依賴硬體的測試 | 測試、長期使用的手機、Agent |
想深入了解伺服器上的模擬器和以真實機型打造的手機有什麼不同,請看雲端 Android 模擬器解析。
選擇前要確認的事
- 延遲。 每次點擊都要傳到伺服器,新的畫面再傳回來。距離比頻寬更重要:伺服器在另一個洲,每次滑動都會感覺到延遲。Clousd 的伺服器在歐盟,位於法蘭克福與赫爾辛基,所以從歐洲連線的往返時間最短。
- 輸入。 試試用鍵盤打字、從剪貼簿貼上、雙指縮放和返回動作。各家瀏覽器工作階段的差異最常出現在這裡。
- Google Play。 模擬器映像檔有的附 Play、有的沒有;實體裝置一定有;雲手機則依服務商而定。如果你的測試需要 Play 服務,開始前先確認。
- Log。 只有瀏覽器的工作階段,讓你看得到當機,卻看不到原因。確認你能取得 logcat,最好能用 ADB。ADB 文件示範了透過中繼的做法。
- 你的建置版本會送到哪裡。 把 APK 上傳到來路不明的服務,等於把程式碼交給陌生人。絕對不要上傳內含正式環境金鑰的建置版本。
哪種工作用哪一種
- 給客戶或審查者看 App: 代管模擬器串流;如果他們需要之後再回來看,就用雲手機。
- 在使用者實際用的手機上測版面: 雲手機或真機雲。
- 相機、感測器、效能: 真機雲,或你桌上的手機。
- 把模擬器放在自己的網路裡: 自架 Cuttlefish 或模擬器容器。
- 要保留好幾週的手機,或給 AI Agent 用的手機: 雲手機。
- 對你正在寫的 App 除錯: 以上皆非。用你自己電腦上 Android Studio 的模擬器。
如果你準備開始第一次測試,線上測試 Android App 會帶你走過安裝、log 與可重複的冒煙測試。
免費的選項
分頁內模擬是免費的,但跑不了目前的 Android。自架串流是自由軟體,但硬體要你付錢、你維護。真機雲和代管模擬器服務提供有限的免費方案或試用。雲手機通常也有試用;免費雲端手機試用提供 30 分鐘,不需信用卡。想從一個連結最快走到一個跑起來的 App,請看線上 Android 模擬器。


