AVD Android: apa itu, Android Virtual Device dan cara mengatur emulator

Penulis: IT Sectr Diterbitkan: 2026-02-09 Waktu membaca: 10 mnt

AVD (Android Virtual Device) — adalah konfigurasi emulator yang meniru perangkat Android nyata di komputer pengembang. Setiap AVD mencakup versi OS yang dipilih (System Image), jenis perangkat (telepon, tablet, Wear OS), ukuran layar, dan jumlah memori. Menurut Google Android Developers, 2026, AVD digunakan untuk menguji aplikasi pada berbagai versi dan konfigurasi Android tanpa perlu membeli puluhan perangkat fisik. QEMU — hypervisor tempat emulator berjalan.

Poin Utama

  • AVD — perangkat Android virtual yang berjalan di QEMU dengan System Image yang dipilih.
  • System Image — gambar sistem operasi dengan API Level tertentu, dengan atau tanpa layanan Google.
  • AVD Manager — alat Android Studio untuk membuat, mengonfigurasi, dan mengelola perangkat virtual.
  • Untuk kinerja AVD yang optimal, diperlukan virtualisasi perangkat keras (HAXM, Hypervisor.Framework, atau WHPX).
  • AVD memungkinkan pengujian aplikasi pada berbagai versi Android, ukuran layar, dan konfigurasi tanpa perangkat fisik.

Apa itu AVD

AVD (Android Virtual Device) — adalah konfigurasi perangkat lunak yang mendeskripsikan perangkat Android virtual. Tidak seperti telepon fisik, AVD tidak memerlukan perangkat keras — ia berjalan di komputer melalui emulator Android berbasis QEMU. Pengembang membuat AVD sebanyak yang diperlukan untuk pengujian: untuk berbagai versi Android, ukuran layar, jumlah memori, dan kerapatan piksel.

Setiap AVD terikat pada SDK Platform tertentu. Ini berarti untuk membuat AVD dengan Android 14 (API Level 34), Anda harus menginstal System Image versi ini terlebih dahulu melalui SDK Manager. System Image adalah gambar sistem operasi yang mencakup semua aplikasi sistem, layanan Google (jika gambar Google APIs dipilih), dan komponen runtime. Google merekomendasikan penggunaan gambar Google APIs dengan layanan Google Play untuk kompatibilitas maksimal dengan perangkat nyata.

AVD sangat diperlukan dalam pengembangan karena beberapa alasan. Pertama, memungkinkan pengujian aplikasi pada berbagai versi Android tanpa membeli puluhan perangkat. Kedua, AVD mendukung Snapshots — penyimpanan status sistem, yang mempercepat startup. Ketiga, emulator terintegrasi dengan Android Studio: instalasi APK, debugging, dan logging bekerja seperti pada perangkat fisik.

Jenis perangkat virtual

AVD mendukung berbagai jenis perangkat: telepon (Phone), tablet (Tablet), jam tangan (Wear OS), televisi (Android TV), dan sistem otomotif (Android Automotive). Untuk setiap jenis, AVD Manager menyediakan profil siap pakai dari Google: Pixel 8, Pixel 9 Pro, Nexus 7, Samsung Galaxy Tab, dan lainnya. Profil perangkat menentukan ukuran layar, resolusi, kerapatan piksel (dpi), dan navigasi (gestur atau tombol).

Jenis PerangkatContoh ProfilResolusidpi
PhonePixel 81080x2400420
PhonePixel 9 Pro1280x2856490
TabletPixel Tablet2560x1600320
Wear OSPixel Watch384x384320
Android TVAndroid TV 4K1920x1080240

Terbuat dari apa AVD

Setiap AVD adalah kumpulan file konfigurasi dan gambar. File konfigurasi utama — config.ini, yang menyimpan parameter perangkat virtual: nama, jenis, API Level, ukuran layar, jumlah RAM dan VM heap. File ini terletak di direktori $HOME/.android/avd/NamaAVD.avd/ dan dapat diubah secara manual, meskipun biasanya diedit melalui AVD Manager.

Selain config.ini, di direktori AVD disimpan: userdata.img (gambar data pengguna — aplikasi, pengaturan, file), system.img (referensi ke System Image dari SDK Platform yang terinstal), cache.img (cache), dan sdcard.img (gambar kartu SD). Saat menjalankan Wipe Data, userdata.img dihapus dan gambar kosong baru dibuat. Snapshots disimpan di folder terpisah snapshots/ di dalam direktori AVD.

System Image diunduh terpisah dari AVD — satu gambar dapat digunakan oleh beberapa perangkat virtual. Gambar sistem disimpan di direktori Android SDK: $ANDROID_SDK/system-images/android-{API}/{type}/{arch}/. Jenis gambar: google_apis (dengan layanan Google), google_apis_playstore (dengan Google Play Store), dan default (AOSP murni tanpa layanan Google).

Jenis System Images

Jenis GambarLayanan GoogleGoogle PlayUntuk apa
AOSP (default)TidakTidakPengujian dasar, Android murni
Google APIsYaTidakPengujian layanan Google, Maps, FCM
Google PlayYaYaPengujian lengkap dengan Play Store dan lisensi

Membuat AVD melalui AVD Manager

AVD Manager — adalah alat grafis di Android Studio untuk membuat dan mengelola perangkat virtual. Dapat dibuka melalui menu Tools → Device Manager atau melalui ikon di bilah alat. AVD Manager menampilkan daftar perangkat yang dibuat, statusnya (berjalan/berhenti), versi Android, dan tindakan yang tersedia (mulai, hentikan, wipe data, edit).

Untuk membuat AVD baru, klik tombol Create device. Pilih profil perangkat dari daftar yang sudah siap — Google menyediakan profil untuk semua perangkat populer. Setelah memilih profil, tentukan System Image: versi Android dan jenis gambar. Untuk proyek baru, pilih versi stabil terbaru dengan gambar Google APIs. Kemudian konfigurasikan nama AVD, orientasi layar, jumlah RAM dan VM heap. Setelah dibuat, AVD siap dijalankan.

Pembuatan AVD langkah demi langkah dari baris perintah

bash
# Daftar System Images yang tersedia
sdkmanager --list | grep system-images

# Menginstal System Image untuk API 35 dengan Google APIs
sdkmanager "system-images;android-35;google_apis;x86_64"

# Membuat AVD dengan nama pixel8_api35
avdmanager create avd -n pixel8_api35 \
    -k "system-images;android-35;google_apis;x86_64" \
    -d pixel_8

# Menjalankan AVD yang telah dibuat
emulator -avd pixel8_api35 -gpu host -memory 2048

# Daftar semua AVD
avdmanager list avd

Konfigurasi karakteristik perangkat keras AVD

AVD Manager memungkinkan konfigurasi mendetail karakteristik perangkat keras perangkat virtual. Parameter utama: RAM (memori akses acak, nilai yang disarankan 2048–4096 MB), VM heap (ukuran heap mesin virtual, 256–512 MB), Internal Storage (penyimpanan internal, 2–8 GB), dan SD Card (kartu SD virtual). Parameter ini memengaruhi kinerja aplikasi dan perilakunya saat kehabisan memori.

Pengaturan tambahan meliputi: kamera (diemulasi atau menghubungkan webcam host), sensor (akselerometer, giroskop), NFC, Bluetooth, dan baterai. Misalnya, untuk menguji aplikasi pendeteksi posisi, rotasi perangkat dapat diemulasi melalui tombol kontrol emulator atau melalui ADB. Emulasi sensor memungkinkan pengujian skenario yang sulit direproduksi pada perangkat fisik.

Parameter kunci config.ini

ParameterDeskripsiNilai yang Disarankan
hw.ramSizeMemori akses acak perangkat2048
vm.heapSizeUkuran heap mesin virtual256
hw.gpuEnabledPercepatan perangkat keras grafisyes
hw.gpuModeMode GPU (host/mesa)host
disk.dataPartition.sizeUkuran partisi data4096M
hw.cameraJenis emulasi kameraemulated

Optimasi kinerja emulator

Kecepatan operasi AVD secara langsung tergantung pada virtualisasi perangkat keras. Di Windows digunakan Windows Hypervisor Platform (WHPX), di macOS — Hypervisor.Framework, di Linux — KVM. Jika virtualisasi dinonaktifkan, AVD beroperasi dalam mode emulasi perangkat lunak murni, yang 10–20 kali lebih lambat. Untuk memeriksa apakah virtualisasi diaktifkan, jalankan emulator dengan flag -accel-check.

Faktor kunci kedua adalah pemilihan arsitektur System Image. Gambar x86_64 berjalan jauh lebih cepat daripada arm64-v8a di komputer dengan prosesor Intel dan AMD, karena tidak memerlukan penerjemahan dinamis instruksi ARM. Selalu gunakan gambar x86_64 untuk pengembangan di Windows dan macOS dengan prosesor Intel. Di prosesor ARM Mac (Apple Silicon) gunakan gambar arm64-v8a asli.

Flag baris perintah untuk percepatan

bash
# Menjalankan dengan virtualisasi perangkat keras dan akselerasi GPU
emulator -avd pixel8_api35 -gpu host -memory 4096 -cores 4

# Memeriksa dukungan virtualisasi
emulator -accel-check

# Menjalankan tanpa antarmuka grafis (untuk CI)
emulator -avd pixel8_api35 -no-window -no-audio -gpu off

# Menggunakan snapshot untuk startup cepat
emulator -avd pixel8_api35 -snapshot mysnapshot -no-snapshot-save

Tips kinerja emulator

Untuk kinerja AVD maksimal: alokasikan emulator setidaknya 2–4 GB RAM, aktifkan GPU Host (menggunakan kartu grafis komputer untuk rendering), nonaktifkan suara (flag -no-audio), jika tidak diperlukan, dan gunakan Snapshots untuk kembali cepat ke keadaan bersih. Snapshots menyimpan status sistem lengkap — startup dari snapshot memakan waktu 2–5 detik, bukan 30–60 detik untuk pemuatan penuh.

Disarankan juga menyimpan AVD di SSD — operasi I/O saat memuat sistem dan menginstal APK akan dipercepat secara signifikan. Untuk bekerja dengan beberapa AVD secara bersamaan, tingkatkan jumlah total RAM di komputer dan gunakan flag -read-only untuk emulator yang tidak dapat diubah.

Mengelola AVD dari baris perintah

Kontrol penuh atas AVD dimungkinkan dari baris perintah tanpa Android Studio. Alat avdmanager dan emulator adalah bagian dari Android SDK dan melakukan semua operasi: membuat, menghapus, menjalankan, dan mengonfigurasi AVD. Baris perintah sangat berguna dalam pipeline CI/CD, di mana tidak ada antarmuka grafis, dan untuk otomatisasi pengujian.

Perintah utama manajemen AVD

bash
# Buat AVD dengan parameter khusus
avdmanager create avd -n test_device \
    -k "system-images;android-34;google_apis;x86_64" \
    --device "pixel_8" \
    --force

# Hapus AVD
avdmanager delete avd -n test_device

# Klon AVD (melalui penyalinan file)
cp -r ~/.android/avd/pixel8_api35.avd ~/.android/avd/pixel8_clone.avd

# Reset data AVD
emulator -avd test_device -wipe-data

# Instal APK pada AVD yang berjalan
adb -s emulator-5554 install app-release.apk

ADB dan AVD: perintah kunci

Setelah AVD dijalankan, Anda dapat bekerja dengannya melalui ADB (Android Debug Bridge) seperti dengan perangkat fisik. ADB memungkinkan menginstal aplikasi, menjalankan intent, mengemulasi peristiwa (panggilan, SMS, GPS), mengambil tangkapan layar, dan merekam video layar. Ini menjadikan AVD lingkungan lengkap untuk pengujian terotomatisasi.

bash
# Daftar perangkat yang terhubung (termasuk AVD)
adb devices

# Emulasi panggilan masuk
adb emu gsm call +15551234567

# Emulasi koordinat GPS
adb emu geo fix -122.084 37.422

# Ambil tangkapan layar
adb exec-out screencap -p > screenshot.png

# Kirim SMS
adb emu sms send +15551234567 "Hello from AVD"

Memeriksa emulator dalam kode aplikasi

Terkadang pengembang perlu menentukan dalam kode apakah aplikasi berjalan di emulator atau di perangkat fisik. Ini mungkin diperlukan untuk menonaktifkan analitik (agar tidak mengotori data produksi), mengaktifkan pencatatan yang diperluas, atau menonaktifkan fungsi yang bergantung pada perangkat keras yang tidak berfungsi di emulator. Google menyediakan metode pemeriksaan standar melalui kelas Build dan properti sistem.

Metode pemeriksaan melalui properti Build

kotlin
object EmulatorDetector {
    fun isEmulator(): Boolean {
        return (Build.BRAND.startsWith("generic") &&
                Build.DEVICE.startsWith("generic")) ||
                Build.FINGERPRINT.startsWith("generic") ||
                Build.FINGERPRINT.startsWith("unknown") ||
                Build.HARDWARE.contains("goldfish") ||
                Build.HARDWARE.contains("ranchu") ||
                Build.MODEL.contains("google_sdk") ||
                Build.MODEL.contains("Emulator") ||
                Build.MODEL.contains("Android SDK")
    }
}

// Penggunaan
if (EmulatorDetector.isEmulator()) {
    Log.d("App", "Running on emulator — enable debug mode")
}

Pemeriksaan melalui properti sistem

Metode tambahan — membaca properti sistem melalui Build.getRadioVersion() dan memeriksa ro.kernel.qemu. Di emulator, radio version mengembalikan null, dan properti qemu disetel ke 1. Metode ini lebih andal pada versi Android lama di mana Build.FINGERPRINT dapat diubah oleh produsen perangkat.

kotlin
fun isRunningOnEmulator(): Boolean {
    // Pemeriksaan melalui radio version — di emulator selalu null
    val radioVersion = try {
        Build.getRadioVersion()
    } catch (e: Exception) {
        null
    }
    if (radioVersion.isNullOrBlank()) return true

    // Pemeriksaan melalui properti sistem
    return try {
        val props = ProcessBuilder()
            .command("getprop", "ro.kernel.qemu")
            .start()
            .inputStream.bufferedReader().readText().trim()
        props == "1"
    } catch (e: Exception) {
        false
    }
}

Pertanyaan yang Sering Diajukan

Apa perbedaan AVD dengan perangkat fisik?

AVD berjalan di QEMU dan tidak dapat sepenuhnya meniru fitur perangkat keras: kamera nyata, NFC, Bluetooth. AVD ideal untuk pengujian UI, pemeriksaan siklus hidup, dan kompatibilitas dengan versi OS. Untuk pengujian kamera dan sensor yang akurat, diperlukan perangkat fisik.

Berapa banyak AVD yang perlu dibuat?

Minimal 2–3 AVD: API Level terbaru untuk memeriksa fitur baru, minimum yang didukung (minSdk) untuk kompatibilitas, dan model perangkat populer (Pixel 8 atau Samsung Galaxy) untuk pengujian UI pada layar tertentu.

Mengapa AVD berjalan lambat?

Penyebab utama: virtualisasi perangkat keras dinonaktifkan (WHPX, Hypervisor.Framework, KVM), RAM sedikit (kurang dari 2 GB), GPU Host dinonaktifkan. Aktifkan -gpu host dan tingkatkan memori menjadi 2–4 GB — ini akan mempercepat emulator 3–5 kali lipat.

Bisakah AVD dijalankan tanpa Android Studio?

Ya. Emulator dijalankan melalui emulator -avd Nama_AVD dari baris perintah. Untuk ini diperlukan Android SDK, Platform-Tools, dan System Image yang terinstal. AVD Manager juga tersedia sebagai utilitas konsol avdmanager.

Bagaimana cara mereset AVD ke pengaturan pabrik?

Di AVD Manager, pilih Wipe Data — ini akan menghapus userdata.img dan mengembalikan emulator ke keadaan awal. Dari baris perintah: emulator -avd Nama -wipe-data. Snapshots tetap dipertahankan kecuali dihapus secara terpisah.

Ringkasan

  • AVD — perangkat Android virtual berbasis QEMU, memungkinkan pengujian aplikasi tanpa telepon fisik.
  • System Image — gambar sistem operasi dengan API Level tertentu, tersedia dalam varian AOSP, Google APIs, dan Google Play.
  • AVD Manager — alat untuk membuat, mengonfigurasi, dan mengelola perangkat virtual di Android Studio atau dari baris perintah.
  • Untuk kinerja AVD, virtualisasi perangkat keras (WHPX, Hypervisor.Framework, KVM) dan pemilihan gambar x86_64 wajib dilakukan.
  • Melalui ADB, semua operasi emulasi tersedia: panggilan, SMS, GPS, instalasi APK, tangkapan layar — seperti pada perangkat fisik.
  • Untuk mendeteksi emulator dalam kode, gunakan pemeriksaan Build.FINGERPRINT, Build.HARDWARE, dan ro.kernel.qemu.
  • Simpan AVD di SSD dan gunakan Snapshots untuk mempercepat startup — ini mengurangi waktu muat dari 60 menjadi 2–5 detik.

Kami akan mengembangkan aplikasi seluler turnkey

IT Sectr membuat aplikasi iOS dan Android untuk startup dan bisnis sejak 2017. Kami akan memberi saran dan mengusulkan solusi terbaik.

Diskusikan proyek

Baca juga