Cari emulator Android cloud, dan Anda akan menemukan dua produk berbeda dengan satu nama. Yang pertama adalah Android Emulator, sama dengan yang disertakan di Android Studio, berjalan di server yang Anda sewa atau yang dijalankan pihak lain. Yang kedua adalah cloud phone: Android yang berjalan di data center, disiapkan sebagai model ponsel tertentu dan disimpan untuk Anda seperti sebuah perangkat.
Untuk sekadar melihat aplikasi, keduanya sama-sama bisa. Untuk pengujian, otomatisasi, dan pekerjaan jangka panjang, perilaku keduanya berbeda, dan salah pilih akan membuang waktu. Penjelasan ini membahas apa yang berjalan di baliknya, apa yang dilihat aplikasi Anda, dan kapan masing-masing menjadi alat yang tepat.
Tiga cara Android berjalan di server
Android Emulator. Virtual machine berbasis QEMU dengan hardware virtual yang oleh Google disebut goldfish dan, di versi terkini, ranchu. Emulator ini mem-boot system image yang Anda unduh di SDK Manager. Kecepatannya hanya didapat dengan virtualisasi hardware, yang di server Linux berarti KVM, jadi menjalankannya di VM cloud butuh nested virtualization atau instance bare metal. Tanpa akselerasi, emulator beralih ke emulasi software dan menjadi terlalu lambat untuk dipakai secara interaktif.
Cuttlefish. Perangkat virtual Google yang dibuat untuk server, bukan desktop. Berjalan tanpa layar (headless), menyajikan layarnya ke browser lewat WebRTC, dan banyak dipakai dalam pengujian platform Android. Ini fondasi yang lebih baik jika Anda membangun armada emulator sendiri, dan mengharuskan Anda terbiasa dengan host Linux serta build AOSP.
Android berbasis container. User space Android berjalan di container di atas kernel Linux milik host, dan kernel itu perlu mendukung binder. Proyek open source seperti Anbox, Waydroid, dan redroid bekerja dengan cara ini, begitu pula banyak layanan cloud phone, sering di server ARM tempat aplikasi arm64 berjalan tanpa penerjemahan. Tidak ada virtual machine penuh untuk setiap ponsel, itulah sebabnya pendekatan ini bisa menampung banyak ponsel per server.
Apa yang dilihat aplikasi Anda
Jalankan tiga perintah di emulator, dan jawabannya langsung jelas:
adb shell getprop ro.product.model adb shell getprop ro.hardware adb shell wm size
System image Google menjawab dengan model seperti sdk_gphone64_x86_64 atau sdk_gphone64_arm64, hardware ranchu, dan ukuran layar apa pun yang diberikan definisi AVD. Itu cukup untuk menguji logika Anda sendiri. Tetapi semua hal yang bergantung pada kelas perangkat jadi tersembunyi: bug tata letak yang hanya muncul di ukuran dan kerapatan panel asli, pengecekan fitur lewat hasSystemFeature, dan kode media yang memilih codec berdasarkan apa yang ditawarkan chipset.
Cloud phone yang dibangun dari model ponsel asli melaporkan model tersebut: namanya, resolusi dan kerapatan layar, versi Android, dan deskripsi hardware. Tata letak Anda bertemu dengan layar yang dipakai pengguna Anda, dan laporan bug dari ponsel tertentu bisa direproduksi di model yang sama.
Dua catatan menjaga gambaran ini tetap jujur. Pertama, tanyakan apa arti "model asli" di sebuah layanan: layar dan deskripsi hardware model tersebut, atau firmware vendor lengkap dengan skin-nya. Bug yang berasal dari pengoptimal baterai atau launcher vendor membutuhkan firmware itu, yang dalam praktiknya berarti ponsel fisik. Kedua, grafis di Android tervirtualisasi mana pun diterjemahkan atau dirender dengan software, jadi baik emulator maupun cloud phone tidak bisa memberi tahu seberapa cepat aplikasi Anda menggambar di hardware asli.
Arsitektur juga berpengaruh. Di image emulator x86_64, library native arm64 berjalan lewat lapisan penerjemah yang disertakan Google di image sejak Android 11. Ini berfungsi untuk sebagian besar aplikasi dan membuat sebagian lainnya gagal, kebanyakan game dan aplikasi dengan banyak kode native. Di host ARM, image arm64 menjalankan kode itu secara native.
Berdampingan
| Emulator di mesin Anda | Emulator di server cloud | Cloud phone | Ponsel fisik | |
|---|---|---|---|---|
| Perangkat yang tampil | sdk_gphone generik | sdk_gphone generik | model ponsel yang Anda pilih | dirinya sendiri |
| Versi Android | system image apa pun | system image apa pun | versi yang ditawarkan layanan | versi yang terpasang |
| Kode native arm64 | native di host ARM, diterjemahkan di x86 | tergantung host | biasanya native | native |
| Status antar sesi | snapshot di disk Anda | tugas Anda untuk menyimpannya | tersimpan seperti ponsel | tersimpan |
| Diakses dari | mesin Anda | SSH, VPN, atau front end web buatan Anda | browser, API, ADB | kabel atau jaringan Anda |
| Lokasi, baterai, jaringan simulasi | ya, dari konsol emulator | ya | tergantung layanan | tidak, kondisi nyata |
| Persiapan dan perawatan | SDK dan ruang disk | host, KVM, image, update | tidak ada | membeli, mengisi daya, meng-update |
| Paling cocok untuk | loop edit dan run | CI dalam skala besar | QA di model asli, ponsel jangka panjang, agent | kamera, sensor, performa |
Jika Anda juga menimbang VPS Android, cloud phone vs emulator vs VPS Android membandingkan ketiganya berdasarkan delapan kriteria.
Kapan emulator adalah alat yang tepat
Emulator unggul ketika kecepatan iterasi dan kendali atas kondisi lebih penting daripada kelas perangkat.
- Loop edit dan run. Debugger, layout inspector, preview Compose, dan deploy instan semuanya mengasumsikan emulator lokal atau ponsel yang tersambung kabel.
- Instrumentation test di CI. Gradle Managed Devices mendefinisikan AVD di file build Anda dan menjalankan test dengan satu task, misalnya
./gradlew pixel6api34DebugAndroidTest. Di host CI biasa, start tanpa layar terlihat seperti ini:
emulator -avd ci-api34 -no-window -no-audio -no-boot-anim -gpu swiftshader_indirect adb wait-for-device ./gradlew connectedDebugAndroidTest
- Kondisi simulasi. Konsol emulator mengatur lokasi, baterai, dan kualitas jaringan kapan saja, yang tidak semudah itu dilakukan di ponsel asli maupun cloud phone:
adb emu geo fix 13.405 52.52 adb emu power capacity 5 adb emu network speed edge
- Semua level API, termasuk preview. Google merilis system image untuk versi baru sebelum ponsel menerimanya.
Kapan cloud phone adalah alat yang tepat
Cloud phone unggul ketika perangkatnya sendiri menjadi bagian dari pertanyaan, atau ketika ponsel harus bertahan lebih lama dari satu sesi pengujian.
- Model asli. Reproduksi laporan dari ponsel tertentu, atau cek tata letak di layar yang benar-benar dipakai pengguna Anda. Daftar model menunjukkan apa saja yang tersedia.
- Ponsel yang bertahan. Tetap login dengan akun uji, simpan data selama berhari-hari, dan amati perilaku selama berjam-jam, yang tidak bisa dilakukan emulator CI yang dibuang setelah setiap job.
- Tanpa instalasi. Tester, desainer, atau engineer support membuka ponsel di browser. Developer yang ingin pengalaman seperti pakai kabel memakai ADB.
- AI agent. Agent butuh ponsel yang bisa diobservasi dan dikendalikan selama tugasnya berlangsung; halaman agent membahas penggunaan ini.
- Negara. Aplikasi berperilaku berbeda di tiap region, dan ponsel bisa terhubung dari negara yang Anda butuhkan.
Di Clousd, misalnya, ponsel dibuat dalam sekitar satu menit dengan Android 12 sampai 17, terhubung dari negara yang Anda pilih dengan zona waktu dan bahasa yang sesuai, dan bisa di-reset ke kondisi baru di antara run.
Kapan hanya ponsel fisik yang bisa
Simpan hardware asli untuk kualitas kamera, akurasi sensor, performa grafis dan baterai, perilaku termal, NFC dan Bluetooth, serta apa pun yang bergantung pada firmware milik vendor. Atestasi berbasis hardware juga masuk di sini: jangan berharap mendapatkannya dari Android tervirtualisasi mana pun.
Pilihan gratis
Pencarian "emulator Android gratis di cloud" biasanya berakhir di salah satu dari tiga tempat.
- Mesin Anda sendiri. Android Emulator gratis dan cepat di laptop modern mana pun. Bagi banyak developer, ini jawaban yang tepat, dan tidak perlu cloud.
- Runner CI. Banyak layanan CI kini menyediakan KVM di runner Linux mereka, sehingga emulator berjalan dengan akselerasi dalam kuota gratis, terutama untuk repositori publik. Cek dokumentasi penyedia Anda; sebagian perlu mengubah izin
/dev/kvmterlebih dulu. - Trial ponsel ter-hosting. Untuk sekilas melihat aplikasi di model asli tanpa menginstal apa pun, trial cloud phone gratis memberi Anda 30 menit tanpa kartu.
Satu peringatan. Situs yang menawarkan emulator online gratis dan meminta Anda mengunggah APK tanpa akun berarti menyerahkan build Anda kepada pihak yang tidak dikenal. Jangan unggah build rilis, dan jangan pernah mengunggah build yang berisi kunci produksi. Jika tujuannya sekadar membuka aplikasi di browser, emulator Android online dari penyedia yang jelas identitasnya adalah jalur yang lebih aman, dan emulator Android di browser membandingkan pilihan-pilihannya.


