Catatan rilis emulator

Android Emulator disertakan dalam Android Studio.

Versi emulator sebelum 25.3.0 didistribusikan sebagai bagian dari Android SDK Tools.

Untuk memastikan emulator Anda versi terbaru, periksa update untuk SDK Manager.

Untuk mendownload Android Emulator versi sebelumnya, lihat arsip download Emulator.

Untuk catatan rilis versi Emulator sebelum 25.3.0, lihat catatan rilis Android SDK Tools.

Untuk masalah umum dan pemecahan masalah, lihat Pemecahan Masalah Emulator.

35.4.4 Canary (12 Desember 2024)

Android XR Emulator Baru

Kami menambahkan emulator Android XR eksperimental baru untuk mengembangkan dan menguji aplikasi yang dibuat dengan Jetpack XR SDK untuk headset. Lihat panduan ini untuk mengetahui informasi tentang cara menginstal emulator Android XR dan menyiapkan lingkungan pengembangan Anda.

Emulator Android XR adalah alat eksperimental. Namun, kami memutuskan untuk membagikannya kepada Anda lebih awal agar Anda dapat melakukan pengujian lebih awal. Mungkin akan terjadi masalah, terutama pada beberapa konfigurasi driver dan GPU Windows. Masalah juga dapat muncul terkait pengujian kompatibilitas Aplikasi seluler 2D yang ada. Masukan Anda akan membantu kami meningkatkan kualitas dan memandu penentuan prioritas fitur di masa mendatang.

Sejauh ini, emulator Android XR telah diuji pada konfigurasi HW berikut:

  • Mac (ARM)
  • Windows 11
    • GPU nVidia, vRAM 4 GB, driver versi 553.35 atau yang lebih baru
  • RAM 16 GB atau lebih
  • 8 Core atau lebih

Masalah Umum

Emulator - Stabilitas dan performa:

  • Sistem penting terkunci atau error selama booting atau saat menjalankan aplikasi dapat terjadi pada beberapa konfigurasi Windows. Pastikan Windows Hypervisor Platform (WHPX) diaktifkan dengan mengikuti Panduan Developer Android Studio untuk mengaktifkan WHPX.
  • Masalah seperti elemen AVD atau UI yang tidak responsif di laptop setelah siklus penangguhan-lanjutan (seperti menutup laptop dan membukanya).
  • Terkadang terjadi error saat beralih aplikasi dari "mode layar utama" ke "mode layar penuh"
  • Gemini API belum tersedia; Aplikasi template awal Gemini API akan error.

Emulator - Simulasi input dan output:

  • Keypad virtual untuk kolom penelusuran dan edit mungkin hanya terlihat sebagian dalam bidang pandang
  • Elemen tidak dapat dipindahkan dalam arah z (masuk dan keluar layar) menggunakan mouse dan keyboard

  • Ketidakstabilan input audio host mikrofon AVD dapat menyebabkan AVD dimulai ulang dan error.

  • Suara terkadang berisi derau atau terdistorsi.

  • Saat kamera dipindahkan dari ruang keluarga virtual, error rendering akan terlihat.

  • Konfigurasi Windows menampilkan warna yang lebih gelap dari biasanya.

  • Audio tidak lagi berfungsi setelah emulator tidak ada aktivitas dan layar terkunci di macOS. (Memulai ulang emulator akan memulihkannya.)

  • Koneksi jaringan terputus saat mesin host mengubah Wi-Fi.

  • Dengan Caps Lock diaktifkan, huruf kecil masih diketik.

  • Men-scroll menggunakan trackpad di Mac tidak lancar.

  • Scroll klik-dan-tarik pada beberapa elemen UI mungkin tidak berfungsi sesuai desain. Jika tidak, gunakan roda mouse untuk men-scroll.

  • Teks,UI, dan gangguan lainnya yang buram di Chrome pada beberapa konfigurasi sistem Windows. Kemungkinan solusi: Mengaktifkan WHP.

Emulator - Simulasi bidang dan anchor:

  • Anchor terkadang tidak muncul kembali di dekat lokasi yang sama
  • Panel yang dapat dipindahkan mungkin tidak terikat ke dinding atau langit-langit
  • Bidang simulasi tidak cocok dengan tata letak fisik ruangan 3D dalam mode passthrough
  • Area terbatas secara keseluruhan untuk mengaitkan objek di ruang virtual
  • Artefak kecil yang terlihat di tampilan passthrough di Windows
  • Dalam beberapa kasus, menempatkan anchor dapat membuat Aplikasi error
  • Garis hitam dapat muncul di atas Aplikasi saat memindahkan Aplikasi ke dekat tanah di Windows

Emulator - Lainnya:

  • Emulator hanya dimulai dalam mode "mandiri". Mode "Disematkan" (UI tersemat) belum didukung.
  • Login dengan akun di emulator pada Windows dapat menyebabkan emulator berhenti berfungsi
  • Konten UI jendela dapat hilang setelah mengubah ukuran (solusi: menekan tombol "Beranda")
  • Di Aplikasi ActivityPanelTest JXRCore, panel sekunder tidak ditampilkan pada awalnya
  • Item setelan cepat mungkin menghilang dari setelan sistem setelah jangka waktu yang lama.
  • UI emulator mungkin muncul di luar area layar pada awalnya. Jika demikian, sesuaikan ukuran jendela emulator sedikit dan jendela akan kembali ke posisi semula.
  • Emulator mungkin tidak dimulai saat menggunakan Chrome Desktop Jarak Jauh di Windows
  • Open XR sejauh ini tidak didukung di emulator dan aplikasi Open XR dapat membuat emulator error
  • Kegagalan yang jarang terjadi saat mencoba mengirimkan laporan bug melalui setelan yang diperluas Android Studio di Windows
  • Ikon "Kembali" tidak terlihat dengan benar di aplikasi Setelan hingga kursor diarahkan ke dekat ikon tersebut di Mac
  • Dalam beberapa kasus, build mungkin salah saat menggunakan modul "Profil Dasar Pengukuran" sebagai bagian dari project template XR
  • Aksesibilitas "XR Talkback" sejauh ini hanya terintegrasi sebagian ke dalam emulator

Aplikasi Scene Viewer:

  • Memindahkan elemen dalam Scene Viewer dapat menyebabkan error. Untuk mengatasi masalah ini, cukup pindahkan posisi kepala dari posisi awalnya sedikit (misalnya, dengan menggunakan pan, dolly, WASD, dll.) sebelum mencoba memindahkan elemen.
  • Fitur ukuran sebenarnya 1:1 tidak akan berfungsi dengan benar jika ukuran sebenarnya dari model 3D berada di bawah atau di atas batas minimum dan maksimum skala (saat ini ditetapkan masing-masing ke 20 cm dan 70 m)
  • Model 3D dapat melompat pada frame pertama setelah dimuat

35.2.10 (1 Oktober 2024)

  • AVD Pixel baru ditambahkan, termasuk Pixel 9, Pixel 9 Pro, Pixel 9 Pro XL, dan Pixel 9 Pro Fold
  • Menambahkan image sistem Tablet baru untuk Vanilla Ice Cream (API 35)

35.1.20 (29 Agustus 2024)

  • Menambahkan AVD Pixel 8a
  • Berbagai perbaikan bug untuk perangkat foldable
  • Update dan perbaikan Qt untuk error dan hang terkait qt
  • [Perbaikan Bug] Memperbaiki error dan pembekuan di Windows dengan aplikasi yang menggunakan Vulkan

34.2.16 (9 Juli 2024)

  • [Perbaikan Bug] UI berhenti berfungsi yang terjadi di Pixel Fold saat melipat/membuka lipatan
  • [Perbaikan Bug] Tampilan versi Android yang salah sebagai Pratinjau Android Vanilla Ice Cream, bukan API 35 di Mac M1.
  • [Perbaikan Bug] Masalah #296162661: HasSystemFeature FEATURE_SENSOR_HINGE_ANGLE menampilkan nilai benar di emulator tablet Pixel C

34.2.15 (31 Mei 2024)

  • Berbagai perbaikan error yang terkait dengan mode swangle dan pembersihan pengiklan

34.2.14 (20 Mei 2024)

Diuji dengan Android Studio Jellyfish Stable Patch 1.

  • [Perbaikan Bug] Snapshot terkadang hang di emulator sematan
  • [Perbaikan Bug] Tombol 'Tidak' dan 'Batal' tidak berfungsi dengan benar pada snapshot
  • [Perbaikan Bug] Tombol tombol arah tidak berfungsi
  • [Perbaikan Bug] Memperbaiki masalah yang terlihat di Windows yang mencegah emulator dimulai dalam beberapa kondisi saat menggunakan mode GPU dengan ANGLE, dan menampilkan pesan error “Gagal melakukan inisialisasi emulasi GL” dalam log. Perhatikan bahwa memulai emulator melalui command line dengan opsi -gpu swangle_indirect mungkin masih menghasilkan error ini dengan versi ini. Jika Anda masih ingin memulai emulator menggunakan command line di Windows dengan rendering grafis Software dengan versi ini, gunakan -gpu swiftshader_indirect
  • [Perbaikan Bug] Pintasan lokasi di keyboard memuat peta yang tidak dapat digunakan
  • [Perbaikan Bug] Saat menyetel lokasi, dialog "simpan rute" tidak ada

34.2.13 (30 April 2024)

Diuji dengan Android Studio Jellyfish Stabil.

  • Mengupdate ke Qt 6.5.3
  • Kompatibilitas untuk update Google Maps API yang digunakan dalam fitur Lokasi di Extended Controls emulator, yang terjadi pada akhir Mei.
  • Perbaikan error berdampak besar
  • Berbagai perbaikan pada AVD Pixel
  • Mengupdate library grafis yang digunakan untuk rendering software
  • [Perbaikan Bug]Masalah 225541819 Memulai Chrome membuat error pada Emulator x86_64
  • [Perbaikan Bug]Masalah 314614435 Tombol -http-proxy tidak diuraikan dengan benar

34.1.20 (1 April 2024)

Diuji dengan Android Studio Iguana Stabil.

  • [Perbaikan Bug] Masalah #314614435: Memperbaiki masalah saat tombol -http-proxy diuraikan secara tidak benar

34.1.19 (7 Maret 2024)

Diuji dengan Android Studio Iguana Stabil.

  • [Perbaikan Bug] Masalah #312677259: Memperbaiki layar yang berhenti berfungsi di emulator tersemat setelah mengubah ukuran jendela.

34.1.18 (29 Februari 2024)

Diuji dengan Android Studio Iguana Stabil.

  • Perangkat ditambahkan ke Emulator, termasuk:
    • Pixel Fold
    • Pixel Tablet
    • Pixel 8
    • Pixel 8 Pro
    • Pixel 7a
  • Pengujian Integrasi gRPC: Endpoint gRPC kini tersedia untuk pengujian berinstrumen yang berjalan di dalam emulator yang akan memungkinkan pengujian skenario yang realistis. Fitur ini memungkinkan developer berinteraksi dengan endpoint gRPC yang dihosting oleh Android Emulator dengan aman dari dalam pengujian instrumentasi Android.
  • Beragam perbaikan bug

33.1.24 (28 Desember 2023)

Diuji dengan Android Studio Hedgehog Stabil dan Iguana Beta 1.

  • Memperbaiki masalah webcam Emulator yang tidak mengizinkan perekaman layar dalam format mp4.
  • Memperbaiki error Emulator pada AVD Pixel Fold saat dibentangkan selama perekaman layar.
  • Memperbaiki masalah saat Pixel Fold menampilkan skin ponsel yang berbeda dengan keyboard yang tidak terhubung dan tidak dapat digunakan (diperbaiki di Windows, Mac Intel, dan Linux)
  • Memperbaiki gangguan tampilan di sensor Virtual dalam mode Mandiri (diperbaiki di Windows, Mac Intel, dan Linux)
  • Memberikan perbaikan untuk beberapa error, terutama saat menutup emulator, telah diperbaiki

33.1.23 (30 November 2023)

Diuji dengan Android Studio Giraffe Patch 4 dan Hedgehog Stabil.

  • Implementasi perangkat foldable baru untuk mengemulasi perangkat Pixel Fold dengan lebih baik, berfungsi dengan API 34 terbaru
  • Upgrade backend grafis: Kami telah menerapkan protokol gfxstream untuk backend grafis kami. Peningkatan ini meningkatkan stabilitas dan performa grafis secara keseluruhan di sistem Anda. Selain itu, kami memperkenalkan dukungan Vulkan 1.3 yang dimulai dengan image sistem dengan API 34
  • Permintaan Fitur: Opsi untuk menonaktifkan gestur cubit untuk zoom atau menetapkan ulang hotkey-nya
  • [Perbaikan Bug] Masalah #302562962 Memperbaiki error pada webcam Emulator saat menggunakan sonoma MacOS
  • [Perbaikan Bug] Masalah #293503871 Memperbaiki masalah yang menyebabkan setelan 'Mikrofon' tidak disimpan saat Emulator dimulai ulang
  • [Perbaikan Bug] Masalah #270386314 Memperbaiki error animasi yang membuat sidebar tetap terbuka setelah layar AVD diperkecil
  • [Perbaikan Bug] Masalah #154896775 Memperbaiki fitur pengiriman bug

32.1.15 (29 Agustus 2023)

Diuji dengan Android Studio Giraffe Patch 1 dan Hedgehog Canary 16.

  • Mematuhi persyaratan HW GAS untuk Sensor di Emulator AAE
  • [Perbaikan Bug] Masalah #266201208 SMS Ibrani tidak dikirim di API 33
  • [Perbaikan Bug] Masalah #257097404 Emulator tidak menampilkan waktu yang benar setelah host diaktifkan di API 29 dan 30
  • [Perbaikan Bug] Masalah #228201899 Tidak dapat melihat Google Maps di dalam Extended Controls Android Emulator

32.1.14 (27 Juni 2023)

Diuji dengan Android Studio Hedgehog Canary 8, Giraffe Beta 5, dan Flamingo Stabil.

  • Memperbaiki orientasi & distorsi kamera emulator.
  • [Perbaikan Bug] Masalah #257097404 "Emulator tidak menampilkan waktu yang benar setelah host diaktifkan". Bug ini masih dapat direproduksi untuk API 29 dan API 30.
  • [Perbaikan Bug] Masalah #243456582 "Rilis Android setelah API 30 mungkin tidak dimulai dengan benar di emulator di komputer Mac M1"

32.1.13 (22 Mei 2023)

Diuji dengan Android Studio Hedgehog Canary 2, Giraffe Beta 1, dan Flamingo Stabil.

  • Menambahkan dukungan untuk AVD Pixel Fold dan Pixel Tablet.
  • Memperbaiki masalah error gLinux.
  • [Perbaikan Bug] Masalah #215231636 "Emulator dengan API di atas API 30 tidak berfungsi di prosesor Intel generasi ke-12".
  • [Perbaikan Bug] Masalah #275397905 Level error yang tinggi di Android Emulator M1 saat memindahkan fokus kursor ke dalam dan ke luar emulator berulang kali.
  • Masalah umum pada peluncuran AVD Masalah #281725854. Lihat Pemecahan Masalah Emulator untuk informasi selengkapnya.

32.1.12 (21 Maret 2023)

Diuji dengan Android Studio Giraffe Canary 10, Flamingo RC, dan Electric Eel Patch 2.

  • [Perbaikan Bug] Masalah #267647323 Jaringan tidak berfungsi di Emulator yang dimulai dari Android Studio
  • [Perbaikan Bug] Masalah #268498686 Layar emulator berkedip
  • [Perbaikan Bug] Masalah #270034824 Performa emulator menurun setelah diupdate ke versi 33.1.1
  • [Perbaikan Bug] Masalah #225541819 Memulai Chrome membuat error pada Emulator x86_64
  • [Perbaikan Bug] Masalah #257097404 Emulator tidak menampilkan waktu yang benar setelah host diaktifkan
  • Menambahkan pelaporan error untuk perangkat Apple M1

32.1.11 (8 Februari 2023)

Diuji dengan Android Studio Giraffe Canary 2, Flamingo Beta 1, dan Electric Eel Patch 1.

  • Pengoptimalan kecepatan jaringan
  • Dukungan mouse di Emulator Tersemat
  • Peningkatan Virtio-snd
  • Menonaktifkan penggunaan symlink saat mengekstrak Android Emulator selama penginstalan
  • Memperbaiki error dalam pemeriksaan emulator

31.3.14 (13 Desember 2022)

Diuji dengan Android Studio Dolphin, Electric Eel RC1, dan Flamingo Canary 9.

  • [Perbaikan Bug] Memperbaiki error AVD yang terjadi saat login ke Play Store.

31.3.13 (27 Oktober 2022)

Diuji dengan Android Studio Dolphin, Electric Eel Beta 2, dan Flamingo Canary 5.

31.3.12 (10 Oktober 2022)

Diuji dengan Android Studio Dolphin dan Electric Eel Beta 1.

Update ini mencakup peningkatan dan perbaikan berikut:

  • [Perbaikan Bug] Masalah #247843000: Error penanganan jalur relatif AVD
  • Meningkatkan ukuran disk untuk API 24 dan yang lebih baru

31.3.11 (23 September 2022)

Diuji dengan Android Studio Dolphin dan Electric Eel Canary 10.

Update ini mencakup peningkatan dan perbaikan berikut:

  • [Perbaikan Bug] Error AVD Emulator Tersemat di Jendela Extended Controls
  • [Perbaikan Bug] Masalah #183139207: Masalah audio terkait Emulator yang mengaktifkan mikrofon
  • [Perbaikan Bug] Masalah #229764024: Bug sentuh melekat AVD yang mengakibatkan masalah perilaku UI
  • [Perbaikan Bug] Terjadi error saat meluncurkan AVD API 33 di Mac M1.
  • [Perbaikan Bug] Masalah #243053479: Kecepatan jaringan lambat setelah mengupdate Emulator
  • [Perbaikan Bug] Masalah #244617627: Lokasi Maps tidak berfungsi di Windows dan Linux
  • [Perbaikan Bug] Masalah #232971796: Tombol “perangkat panggilan” tidak berfungsi pada halaman Extended Controls > Phone
  • Mengupdate Android Emulator ke minigbm
  • Migrasi skrip build ke Python3

31.3.10 (18 Agustus 2022)

Diuji dengan Android Studio Dolphin Beta 5 dan Electric Eel Canary 9.

Download emulator mandiri kini tersedia. Jika Anda mengalami masalah atau error dengan rilis stabil terbaru ini, harap laporkan bug dan sebaiknya download versi yang sebelumnya berfungsi dari arsip download emulator.

Update ini mencakup peningkatan dan perbaikan berikut:

  • Dukungan jalur unicode yang lebih baik di Windows
  • Penanganan penonaktifan emulator yang lebih baik sehingga peluncuran baru untuk AVD yang sama dapat berhasil.
  • Desain AVD foldable dan setelan default yang diperbarui
  • Tombol emulator Wear diupdate
  • Peningkatan streaming audio gRPC
  • Penambahan perintah konsol emulator yang dapat diubah ukurannya
  • Perbaikan Chrome untuk API 31
  • [Perbaikan Bug] Autentikasi Akun Google Gagal dengan GmsCore v21.42.18

31.2.10 (20 April 2022)

Diuji dengan Android Studio Dolphin Canary 8 dan Chipmunk RC 1.

Update ini mencakup peningkatan dan perbaikan berikut:

  • Menambahkan aplikasi utilitas untuk memuat fungsi Vulkan dengan penggantian
  • [Perbaikan Bug] Memperbaiki error build gcc8

31.2.9 (23 Maret 2022)

Diuji dengan Android Studio Dolphin Canary 7.

Update ini mencakup perbaikan berikut:

  • [Perbaikan Bug] Mengabaikan tekanan memori saat menyimpan snapshot di M1

31.2.8 (7 Februari 2022)

Diuji dengan Android Studio Bumblebee Patch 1 dan Chipmunk Canary 6.

Update ini mencakup peningkatan dan perbaikan berikut:

  • [Perbaikan Bug] Tidak dapat login ke aplikasi
  • [Perbaikan Bug] Masalah #215368358: "adb reboot" pada platform Intel akan mengalami error avd dengan "vcpu shutdown request"

31.2.7 (1 Februari 2022)

Diuji dengan Android Studio Bumblebee Patch 1 dan Chipmunk Canary 6.

Update ini mencakup perbaikan berikut:

  • [Perbaikan bug] Emulator mengalami error pada komputer M1.

31.2.6 (20 Januari 2022)

Diuji dengan Android Studio Arctic Fox, Bumblebee Beta 4, dan Chipmunk Canary 6.

Update ini mencakup peningkatan dan perbaikan berikut:

  • Menambahkan tombol Wear ke emulator Wear OS.
  • Membuat semua properti kendaraan dapat diedit di tab VHAL.
  • [Perbaikan Bug] Autentikasi Akun Google Gagal dengan GmsCore v21.42.18.
  • [Perbaikan Bug] Netshaper tidak berfungsi optimal dengan VirtioWifi.
  • [Perbaikan Bug] Perintah konsol mouse peristiwa tidak berfungsi.
  • Menambahkan pemeriksaan KVM untuk pembuatan AVD lokal.

31.1.3 (18 Januari 2022)

Update ini mencakup peningkatan dan perbaikan berikut:

  • Port konsol untuk Fuchsia telah diaktifkan.
  • Saat mengubah ukuran jendela multi-tampilan, orientasi akan diabaikan.
  • Wi-Fi: Menambahkan dukungan untuk memfilter paket unicast berdasarkan alamat MAC MAT.
  • Wi-Fi: Memperbaiki error saat vmnet sedang digunakan.

30.9.5 (15 Desember 2021)

Update ini mencakup peningkatan dan perbaikan berikut:

  • Menambahkan kemampuan untuk mengubah ukuran dengan mudah ke jendela berukuran desktop atau tablet.
  • Menambahkan dukungan untuk input multisentuh dari perangkat host yang kompatibel.
  • VirtioWifi: Menambahkan dukungan untuk jaringan ketuk.
  • Mengaktifkan Input dari Alat Rotasi untuk Image Sistem Wear.
  • Memperbaiki masalah konfigurasi audio gRPC.
  • Mengupdate SensorReplay Emulator Playback untuk mendukung sensor Android standar.
  • Menghubungkan emulator ke periferal dan perangkat menggunakan USB dengan pass through USB.

30.4.5 (23 Februari 2021)

Update ini mencakup peningkatan dan perbaikan berikut:

  • macOS: Memperbaiki masalah distorsi input audio.
  • Menambahkan dukungan untuk virtio-vsock di userspace.
  • Image sistem di masa mendatang akan menggunakan virtio-console untuk pesan logcat dan kernel.
  • Mempercepat rendering Vulkan.
  • Menambahkan dukungan untuk proses debug snapshot pada kegagalan uji.
  • virtio-gpu: memperbarui definisi untuk mendukung enum resource blob terbaru.
  • Menambahkan dukungan snapshot untuk transpor grafik jenis 'asg'.
  • macOS: Menambahkan dukungan untuk build terhadap SDK macOS 11.1+.
  • KVMclock diaktifkan secara default pada image sistem yang lebih baru.
  • Menambahkan dukungan untuk sensor detak jantung ke emulator Wear.
  • Menghapus backend Vulkan libportability.
  • Menambahkan dukungan untuk lebih banyak fitur dalam simulator modem.

30.0.26 (16 Agustus 2020)

Update ini mencakup beberapa fitur baru, peningkatan pada fitur yang ada, dan perbaikan bug.

Dukungan perangkat foldable dengan sensor engsel virtual dan tampilan 3D

  • Menambahkan dukungan untuk sensor engsel pada perangkat foldable. Tindakan ini memerlukan image sistem Android 11 dan konfigurasi AVD di masa mendatang. Parameter engsel dan tampilan foldable 3D kini terintegrasi dengan preset foldable yang ada. Berikut dapat digunakan dengan, misalnya, file config.ini AVD foldable 7.3:

    hw.sensor.hinge = yes
    hw.sensor.hinge.count = 1
    hw.sensor.hinge.type = 1
    hw.sensor.hinge.ranges = 180-360
    hw.sensor.hinge.defaults = 180
    hw.sensor.hinge.areas = 54.7-0
    hw.sensor.posture_list=4, 3
    hw.sensor.hinge_angles_posture_definitions=210-360, 180-210
    hw.sensor.hinge.fold_to_displayRegion.0.1_at_posture=4
    
  • Perangkat foldable kini juga membawa parameter subjenis. Properti config.ini hw.sensor.hinge.sub_type = hinge/fold kini tersedia. Lihat postingan blog Developing for Android 11 with the Android Emulator untuk membaca selengkapnya.

  • Sensor engsel sekarang diaktifkan secara default.

  • Jika perangkat foldable dikonfigurasi, emulator sekarang mengirimkan pembaruan sensor sudut engsel dan perubahan postur ke tamu. Perangkat foldable yang ada sekarang akan mengubah sudut sensor engsel dan postur saat tombol lipat atau bentangkan toolbar ditekan.

Emulator untuk host ARM64

  • Kode sumber emulator Linux kini mendukung kompilasi silang dari host x86_64 ke ARM64, yang memungkinkan image sistem ARM64 berjalan dengan virtualisasi KVM. Saat ini, hanya -gpu swiftshader_indirect (rendering host ARM64 Swiftshader) yang didukung, tetapi set library libEGL/libGLESv2 GPU host yang kompatibel juga dapat digunakan dengan mengganti lib64/gles_swiftshader dengannya, kemudian meluncurkan kembali dengan -gpu swiftshader_indirect. Snapshot juga mungkin tidak berfungsi (tambahkan -no-snapshot ke command line). Petunjuk:

    mkdir emu
    cd emu
    repo init -u https://android.googlesource.com/platform/manifest -b emu-master-dev --depth=1
    repo sync -qcj 12
    cd external/qemu
    pip install absl-py
    pip install urlfetch
    sudo apt-get install crossbuild-essential-arm64
    python android/build/python/cmake.py --noqtwebengine --noshowprefixforinfo --target linux_aarch64
    
  • Dukungan untuk Apple Silicon sedang dalam proses.

Dukungan virtio-gpu

  • Menambahkan dukungan pada sisi host untuk resource blob yang koheren dengan host virtio-gpu mendatang.
  • Sehubungan dengan cara kerja rendering emulator, sekarang kami memproses virtqueue virtio-gpu di thread vcpu (karena rendering tetap dialihkan ke thread lain). Rendering virtio-gpu akan diaktifkan di versi emulator dan image sistem mendatang.
  • Dalam image sistem mendatang, emulator akan dapat menjalankan semua grafis dengan stack berbasis virtio-gpu.

Fitur dan peningkatan baru lainnya

  • Passthrough USB sekarang tersedia di Windows menggunakan -qemu -usb -device usb-host,vendorid=<usb-vendor-id>,productid=<usb-product-id>. (Ini seharusnya juga sudah berfungsi di Linux dan macOS)
  • Memperbarui library WebRTC ke M83.
  • Emulator sekarang mendukung streaming audio dalam container melalui WebRTC.
  • Endpoint darwinn pipe telah dihapus.
  • Dekode CUDA VPx untuk video sekarang tersedia, jika dekode CUDA VPx tersedia di hardware, melalui variabel lingkungan ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1.
  • Di macOS, SSE 4.1 dan 4.2 kini tersedia dari bagian dalam tamu Android.
  • Di macOS, INVTSC kini diaktifkan secara default. Hal ini dapat meningkatkan akurasi pengukuran waktu dari tamu.
  • Sekarang kami melacak panel kontrol yang diperluas mana yang dipilih oleh pengguna dalam metrik.
  • Emulator Linux sekarang menggunakan clock yang diparavirtualisasi KVM saat versi kernel tamu adalah >= 5.4 (image sistem R atau yang lebih baru).
  • Emulator sekarang menggunakan LZ4 untuk mendekompresi kernel tamu, sehingga membuatnya kompatibel dengan pipeline kernel modern.
  • Menambahkan perintah konsol untuk mendapatkan direktori AVD emulator, jalur file penemuan dalam kasus penggunaan yang tersemat di Studio, dan jalur ke snapshot:

    adb emu avd path # Obtains path to AVD directory
    adb emu avd discoverypath # Obtains path to discovery file
    adb emu avd snapshotspath # Obtains path to snapshots folder
    adb emu avd snapshotpath <snapshotName> # Obtains path to the folder that stores the snapshot for the snapshot with name <snapshotName>
    
  • Untuk memudahkan penyimpanan ruang layar vertikal, kami telah menambahkan opsi untuk menyembunyikan frame perangkat bagi AVD saat ini di Extended Controls > Settings. Untuk menyembunyikan frame perangkat bagi semua AVD secara global, kami telah menyediakan tombol fitur NoDeviceFrame, yang dapat diaktifkan melalui peluncuran emulator dari command line dengan frame -feature NoDevice. Atau, untuk menguncinya, kami menambahkan NoDeviceFrame = on ke ~/.android/advancedFeatures.ini (Buat file ini jika belum ada).

  • Menambahkan item drop-down di halaman seluler untuk mengaktifkan dan menonaktifkan dukungan meterdness. Ini adalah kondisi tanpa pengoperasian untuk image sistem lama yang tidak mendukung tombol alih meterdness 5G.

    • Juga menambahkan perintah konsol untuk tujuan yang sama: gsm meter on|off
  • Mengupgrade toolchain/build ke C++17.

Perbaikan: emulator sematan

  • Papan klip seharusnya sudah berfungsi.
  • Memperbaiki masalah saat karakter huruf besar dikirim sebagai karakter huruf kecil di emulator.
  • Memperbaiki token konsol pemuatan dari jalur unicode di Windows.
  • Memperbaiki pesan error SO_REUSEPORT di Linux.
  • Memperbaiki masalah kerusakan snapshot saat mengirim perintah snapshot melalui gRPC, serta saat menekan tombol simpan snapshot di emulator sematan Android Studio.
  • Saat menggunakan emulator Linux yang disematkan di Studio, kami menemukan bahwa jika tindakan ini dilakukan melalui Chrome Desktop Jarak Jauh, ada bug berupa XDG_RUNTIME_DIR yang tidak ditetapkan dan dapat menyebabkan emulator tersemat gagal ditampilkan karena file penemuan emulator yang ditempatkan di XDG_RUNTIME_DIR. Anda dapat memeriksa status masalah terkait di Issue Tracker Chrome.

    Sebagai solusinya, emulator kini kembali menggunakan file penemuan dalam direktori yang mungkin berbeda yang didasarkan pada UID pengguna: /run/user/&lt;uid>.

  • Emulator sematan: Perangkat dengan sudut/notch bulat kini mengubah tata letaknya dengan benar untuk memberi ruang bagi sudut dan notch. Tindakan ini memerlukan cold boot pada emulator tersebut.

  • Endpoint gRPC sekarang mendukung pengiriman SMS ke perangkat.

Perbaikan umum

  • Kami telah melihat masalah kompatibilitas saat menjalankan emulator Windows dengan Riot Vanguard aktif. Emulator Windows ini sekarang mendeteksi anti-cheat Vanguard dan memunculkan pesan peringatan jika Vanguard terdeteksi.
  • Memperbaiki error FD_SETSIZE di Windows. Kami sekarang menggunakan WSAEventSelect(), bukan select(), untuk membuat koneksi non-pemblokiran ke server loopback.
  • Menambahkan dukungan fitur CPUID F16C ke emulator Linux dengan perbaikan masalah saat menjalankan beberapa aplikasi ARM64 melalui terjemahan NDK; macOS/Windows sedang dalam proses.
  • Memperbaiki pemutaran rute gpx/kml untuk mengikuti stempel waktu.
  • Memperbaiki ikon pantulan saat peluncuran untuk macOS.
  • Jika hw.audioInput=no dan hw.audioOutput=no di config.ini, audio emulator sekarang dinonaktifkan dengan benar.
  • Memperbaiki masalah saat jendela emulator diminimalkan dan extended controls terbuka, tetapi tidak aktif, jendela extended controls akan tetap muncul jika jendela emulator diubah ukurannya. Kami akan menghapus sepenuhnya perilaku terkait (kasus dengan jendela extended controls) dalam update berikutnya.
  • Memperbaiki bug yang tidak stabil dengan Wi-Fi yang tidak terhubung saat emulator dimulai.
  • Memperbaiki hang-on-exit saat emulator mengeluarkan perintah shell dengan waktu tunggu yang lama atau tidak terbatas.
  • Memperbarui pc-bios dengan perbaikan untuk lebih mendukung gambar besar yang diteruskan ke -initrd; versi BIOS sebelumnya menggunakan metode yang sangat tidak efisien.
  • Memperbaiki error selama penghentian saat opsi -wifi-server-port digunakan.
  • Emulator sekarang mencetak peringatan jika opsi yang tidak didukung diteruskan ke -prop (Hanya properti qemu.* yang didukung).
  • Saat membangun emulator di Windows, akan ada lebih sedikit peluang mengalami kegagalan yang tidak stabil untuk menulis ke file. Untuk informasi selengkapnya, lihat petunjuk build Windows.
  • Menonaktifkan tombol Zoom untuk AVD foldable, yang menyebabkan masalah.
  • Emulator kini melaporkan waktu booting dengan benar dari reboot perangkat.
  • Linux: Jika izin KVM tidak mencukupi, emulator sekarang akan mencetak petunjuk proses debug lebih cepat.
  • Memperbaiki masalah saat emulator tidak dapat melakukan booting image sistem terbaru tanpa akselerasi.
  • Memperbaiki kerusakan atau error memori saat memulai dari detektor proses booting selesai.
  • Memperbaiki kebocoran memori selama sesi perekaman layar yang panjang.
  • Ikon emulator diperbarui untuk mencerminkan branding Studio 4.1.
  • Menambahkan dukungan yang lebih baik untuk mendeteksi sesi jarak jauh di Windows.

Perbaikan: dekode video dan grafis

  • Memperbaiki masalah saat game Asphalt 9 terbaru dirender dengan layar hitam.
  • Menghapus spam tentang flushing buffering yang dipetakan dengan NULL.
  • Memperbaiki kondisi race saat menghilangkan status Vulkan jika aplikasi Vulkan tamu ditutup.
  • Shader emulasi ASTC/ETC2 Vulkan sekarang disertakan ke dalam library libOpenglRender. Ini akan lebih andal dibandingkan membaca dari sistem file.
  • Memperbaiki masalah di Vulkan yang jika berjalan dengan instance Vulkan 1.0 di host, vkGetImageMemoryRequirements2KHR akan secara keliru menghapus kolom pNext pada struct VkMemoryRequirements2 yang ditampilkan.
  • Memperbaiki kebocoran memori pada perender Vulkan.
  • Memperbaiki regresi terkini saat shader GLSL ES 1.00 dengan nama variabel seperti isampler2D gagal dikompilasi.
  • Mengupdate penerjemah shader ANGLE dengan berbagai perbaikan yang mengatasi kemungkinan kegagalan untuk mengompilasi shader di Linux.
  • Sekarang kami akan membuat emulator error jika shader framebuffer blit dasar gagal dikompilasi; hal ini agar gejala tetap dapat dilacak.
  • Mengupdate penerjemah shader ANGLE untuk terus mengikuti ANGLE upstream. Ini memperbaiki masalah seputar kerusakan memori saat menerjemahkan dan menjalankan constant-folding shader OpenGL ES yang menggunakan matriks non-persegi. Penerjemah shader sekarang menjadi library bersama yang terpisah, libshadertranslator.dll.
  • Memperbaiki masalah inisialisasi Vulkan di beberapa driver GPU, tempat fungsi perangkat 1.1 tertentu tidak ditemukan.
  • Vulkan: Kami telah kembali menggunakan loader bawaan karena loader Vulkan sistem menyebabkan masalah dalam beberapa penyiapan; solusi yang lebih baik akan dicari.
  • Memperbaiki masalah saat menggunakan memori eksternal Vulkan yang mungkin telah mengimpor indeks jenis memori yang tidak cocok di host.
  • Memperbaiki masalah emulasi GL_ALIASED_POINT_SIZE_RANGE saat enum tidak didukung di host.
  • Memperbaiki masalah saat pada beberapa GPU host tertentu, shader Skia tidak dapat dikompilasi karena error terkait GL_EXT_shader_framebuffer_fetch.
  • Karena salinan perender ANGLE D3D9 kami dihapus beberapa versi yang lalu, kini kami juga otomatis mengalihkan pengguna yang berada di perender tersebut ke ANGLE d3d11 jika dipilih dalam preferensi UI.
  • Info debug lainnya telah ditambahkan ke inisialisasi WGL di Windows untuk melacak kegagalan.
  • Saat hw.gltransport=virtio-gpu-pipe, performa akan ditingkatkan dengan tidak melakukan spinning di host pada saat transfer dari host ke tamu.
  • Menambahkan logging debug lainnya saat emulasi OpenGLES gagal diinisialisasi.
  • Memperbaiki masalah video YouTube yang berkedip atau tidak muncul saat pemuatan snapshot.
  • Beralih kembali ke dekode software untuk libvpx untuk saat ini karena kami mengalami masalah dengan dekode hardware CUDA untuk libvpx. Jika Anda memiliki implementasi dekode hardware CUDA yang didukung di sisi host, dekode hardware libvpx dapat diaktifkan kembali melalui variabel lingkungan ANDROID_EMU_MEDIA_DECODER_CUDA_VPX=1.

30.0.10 (30 April 2020)

Update ini mencakup dukungan untuk langsung menjalankan emulator di Android Studio dan perangkat virtual dengan Mode Jendela Freeform yang diaktifkan secara default.

Menjalankan Emulator di Android Studio

Android Emulator kini dapat dijalankan langsung di Android Studio. Gunakan fitur ini untuk mempertahankan real estate layar, menavigasi dengan cepat antara emulator dan jendela editor menggunakan hotkeys, dan mengatur alur kerja emulator dan IDE dalam satu jendela aplikasi.

Mode Jendela Freeform

Anda sekarang dapat membuat AVD yang mengaktifkan Mode Jendela Freeform dengan memilih profil hardware tablet Freeform 13,5” saat membuat perangkat virtual di Android Studio. Profil hardware ini memerlukan image sistem dengan Pratinjau Developer 3 Android 11 atau yang lebih tinggi.

Masalah umum

Perubahan ukuran jendela freeform saat ini rusak karena masalah saat mentransfer fokus ke Window Manager. Hal ini akan diatasi dalam rilis image sistem Android 11 mendatang.

30.0.0 (19 Februari 2020)

Update ini mencakup image sistem Android 11 (API level 30) dan performa yang lebih baik saat menjalankan biner ARM.

Image sistem Android 11

Anda kini dapat membuat AVD yang menjalankan Android 11 dengan memilih salah satu image sistem API level 30 yang tersedia:

  • x86: Mencakup ABI x86 dan ARMv7.
  • x86_64: Mencakup ABI x86, x86_64, ARMv7, dan ARM64.

Dukungan untuk biner ARM pada image sistem Android 9 dan 11

Jika sebelumnya Anda tidak dapat menggunakan Android Emulator karena aplikasi bergantung pada biner ARM, kini Anda dapat menggunakan image sistem Android 9 x86 atau image sistem Android 11 untuk menjalankan aplikasi Anda - tidak perlu lagi mendownload image sistem tertentu untuk menjalankan biner ARM. Image sistem Android 9 dan Android 11 ini mendukung ARM secara default dan memberikan performa yang jauh lebih baik jika dibandingkan dengan emulasi ARM lengkap.

Masalah umum

  • Beberapa biner ARMv7 gagal dijalankan pada image sistem Android 11 x86 dan x86_64. Sebaiknya bangun aplikasi untuk ARM64 saat menargetkan Android 11.

29.0.11 (29 Mei 2019)

Update ini mencakup peningkatan dan perbaikan berikut:

  • Windows: Emulator sekarang bergantung pada DLL libgcc yang kami kirimkan, bukan dikompilasi dengan libgcc secara statis.
  • Linux: Menambahkan dukungan logcat ke gRPC API. Untuk informasi selengkapnya tentang gRPC, lihat emulator streaming gRPC (Linux).
  • Emulator ini sekarang menyertakan build headless untuk tamu x86 32 bit (qemu-system-i386). Fitur ini memungkinkan image x86 32 bit untuk API level 26 dan lebih rendah untuk dijalankan dengan build headless. Ingat bahwa untuk tamu x86 32 bit dengan API 27 dan yang lebih baru, emulator menggunakan mesin 64 bit (qemu-system-x86_64) karena pada image sistem ini, meskipun userspace adalah 32 bit, kernel-nya adalah 64 bit. Android Studio menggunakan kernel untuk memilih mesin emulasi.
  • Anda sekarang dapat menentukan jalur library Qt kustom menggunakan variabel lingkungan ANDROID_QT_LIB_PATH.
  • Anda sekarang dapat menjalankan emulator dengan biner sebelumnya yang menggunakan QEMU1 jika file QEMU1 yang dapat dieksekusi (emulator[64]-[x86|arm|etc]) ditempatkan di direktori emulator.
  • Windows: Memperbaiki masalah yang terkadang menyebabkan emulator gagal memulai dengan pesan "vCPU shutdown request".
  • Memperbaiki masalah dengan barrier pipeline yang tidak perlu pada tekstur terkompresi yang telah diemulasikan di Vulkan.
  • Memperbaiki error yang terjadi dengan permintaan proxy http saat bagian encoding transfer digunakan. Untuk informasi selengkapnya, lihat detail commit.

29.0.9 (7 Mei 2019)

Update ini mencakup perbaikan berikut:

  • Windows: Memperbaiki masalah saat kamera scene virtual dan webcam tidak berfungsi pada emulator.

29.0.8 (6 Mei 2019)

Update ini mencakup peningkatan dan perbaikan berikut:

  • Menambahkan dukungan untuk beberapa tampilan hardware virtual saat ada layanan tamu untuk mengenumerasi dan menyetel setiap tampilan. Beberapa tampilan hardware virtual akan disertakan dalam update image sistem emulator pada masa mendatang.
  • Menambahkan opsi command line baru: -delay-adb. Opsi ini akan menghentikan pemrosesan paket ADB hingga tamu selesai melakukan booting (menonaktifkan cold boot). Opsi ini membantu menyelesaikan masalah yang dapat terjadi jika Anda menggunakan emulator di lingkungan CI yang memulai ulang emulator dan menggunakan DDMS secara bersamaan.
  • Memperbaiki error yang terjadi saat snapshot dimuat di mana glIsRenderbuffer akan menampilkan nilai yang salah.
  • Memperbaiki beberapa masalah dengan status yang sudah tidak berlaku saat tamu Android me-reboot.
  • Windows: Memperbaiki masalah yang mencegah emulator dimulai saat nama pengguna Windows memiliki karakter atau spasi non-ASCII.

Masalah umum

  • UI Snapshot dinonaktifkan untuk image sistem Automotive karena snapshot saat ini tidak didukung untuk image sistem ini.

29.0.6 (1 Mei 2019)

Update ini mencakup beberapa fitur baru, peningkatan pada fitur yang ada, dan perbaikan bug.

Penghapusan dukungan Windows 32 bit dan QEMU1

Sebagai upaya mempertahankan emulator lebih optimal, biner Windows 32 bit dan QEMU1 tidak lagi dikirimkan. Jika menggunakan Windows 32 bit, Anda tidak dapat mengupgrade ke versi 29.0.6.

Persyaratan untuk image sistem Android Q

Jika ingin menjalankan AVD yang menggunakan image sistem Android Q, Anda harus menggunakan versi 29.0.6 (versi rilis ini) atau yang lebih tinggi.

Peningkatan Project Marble

Update ini merupakan lanjutan pekerjaan kami pada inisiatif Project Marble yang diumumkan dalam Android Developer Summit pada November 2018. Informasi selengkapnya terkait peningkatan Project Marble lainnya pada rilis sebelumnya, lihat Android Emulator: Project Marble Improvements.

Sebagian besar upaya Project Marble pada update ini adalah dimaksudkan untuk mengurangi penggunaan resource emulator, misalnya mengurangi penggunaan CPU emulator saat tidak adanya aktivitas. Kami sertakan juga perubahan yang memudahkan bekerja dengan emulator di berbagai lingkungan yang lebih luas, dan kami juga telah mengatasi masalah kualitas umum yang ada pada emulator.

Bagian berikut menjelaskan peningkatan Project Marble yang disertakan pada update ini:

Peningkatan untuk perilaku audio host

Mulai dari versi 28.0.3, emulator memblokir input audio dari host secara default.

Jika ingin menggunakan data audio host, Anda dapat mengaktifkan opsi tersebut dengan membuka Extended Controls > Microphone dan mengaktifkan Virtual microphone uses host audio input. Opsi ini otomatis dinonaktifkan setiap kali emulator dimulai ulang.

Jika menggunakan command line, Anda juga dapat mengaktifkan audio host menggunakan opsi -allow-host-audio, dan dapat menggunakan perintah ADB berikut untuk mengaktifkan atau menonaktifkan data audio host:

  • adb emu avd hostmicon
  • adb emu avd hostmicoff

Peningkatan untuk build emulator headless

Mulai dari versi 28.0.25, emulator menyertakan opsi build headless yang dapat berjalan tanpa UI. Anda dapat memanfaatkan build headless guna membantu menyiapkan emulator untuk alur kerja Docker dan continuous integration (CI).

Dengan update ini, kami telah melakukan pengoptimalan lebih lanjut demi mendukung emulator berjalan dengan jumlah minimum dependensi. Di Linux, build headless tidak lagi menyertakan library pulseaudio atau libX11. Library bersama yang bergantung pada sistem yang tidak dikemas dengan emulator telah dikurangi menjadi daftar berikut:

  • Linux-vdso.so.1
  • Libutil.so.1
  • Libm.so.6
  • Libdl.so.2
  • Librt.so.1
  • Libpthread.so.0
  • Libgcc_s.so.1
  • Libc.so.6
  • ld-linux-x86-64.so.2

Mengupgrade library Qt UI ke 5.12 LTS

Update ini mencakup peningkatan berikut dari rilis Qt 5.12 LTS:

  • Untuk menghindari error pada decoding libpng Qt saat memulai image sistem tertentu, emulator sekarang akan menggunakan salinan libpng-nya sendiri untuk mendekode gambar PNG.
  • Untuk mengatasi masalah pada beberapa penginstalan Linux yang berisi versi tidak kompatibel dari beberapa library yang bergantung pada Qt, kami sekarang mengemas libfreetype, libsoftokn, libsqlite3, dan libxkbcommon dengan emulator.
  • Kini emulator menggunakan library windowing native platform untuk mendapatkan dimensi monitor, daripada menggunakan library Qt yang menampilkan hasil yang tidak dapat diandalkan.

Pengoptimalan CPU otomatis setelah cold boot

Untuk mengatasi penggunaan CPU, emulator sekarang menjalankan perintah ADB berikut pada cold boot setelah menerima sinyal boot complete:

adb shell settings put screen_off_timeout 214783647
Perintah ini meningkatkan waktu tunggu layar nonaktif sehingga emulator dapat digunakan dalam mode baterai tanpa mengisi daya. Dalam mode baterai, penggunaan CPU latar belakang sangat jauh berkurang.
Dalam mode pengisian daya AC, operasi latar belakang GMSCore seperti update aplikasi dapat mengambil alih semua core CPU perangkat—dan sehingga komputer pengguna—tanpa peringatan.
adb shell pm revoke com.google.android.googlequicksearchbox android.permission.RECORD_AUDIO
Perintah ini mencabut izin akses mikrofon untuk aplikasi Google Penelusuran, yang mengurangi penggunaan CPU latar belakang secara signifikan pada layar utama dan peluncur saat aplikasi Google Penelusuran aktif.
Perintah ini dijalankan selain dari perilaku default emulator yang menonaktifkan audio host untuk host. Selain itu, tindakan ini otomatis menyediakan mitigasi penggunaan CPU yang dijelaskan untuk deteksi frasa pengaktif dari rilis 28.0.23.

Variabel lingkungan baru untuk pemantauan performa

Kini Anda bisa menggunakan dua variabel lingkungan baru yang memungkinkan pemantauan performa dan penggunaan resource emulator secara mendetail.

SHOW_PERF_STATS=1
Variabel lingkungan ini memungkinkan pelacakan penggunaan CPU dan RAM. Pelacakan untuk penggunaan RAM membedakan antara penggunaan grafis dan total memori yang terpakai sistem.
ANDROID_EMU_TRACING=1
Variabel lingkungan ini memungkinkan pencetakan setiap kali operasi grafis atau input memerlukan waktu lama (lebih dari 1 md).
Kami juga menggunakan variabel lingkungan untuk membantu mendiagnosis masalah yang dialami pengguna Windows yang menemukan jank (frame hilang) lebih banyak dibandingkan pengalaman pengguna pada macOS atau Linux.

Peningkatan Project Marble umum

Update ini juga mencakup peningkatan umum berikut yang merupakan bagian dari inisiatif Project Marble:

  • Sekarang, Anda dapat langsung menjeda semua vCPU pada emulator melalui perintah konsol berikut:
    • adb emu avd pause
    • adb emu avd resume
  • Mengurangi overhead gambar OpenGL secara signifikan. Peningkatan ini mengurangi penggunaan CPU saat emulator memutar animasi.
  • Memulihkan dukungan untuk perangkat jaringan virtual e1000 QEMU utama. Anda dapat menggunakan perangkat ini untuk menyiapkan emulator di lingkungan jaringan yang terhubung. Di lingkungan jaringan yang terhubung, emulator ditampilkan pada jaringan host dan jaringan host ditampilkan pada emulator.
  • Biner BIOS yang sesuai QEMU 2.12 kini digunakan untuk memulai emulator.
  • Mengupgrade versi ffmpeg ke versi 3.4.5 untuk encoding dan decoding video.
  • Mengurangi overhead I/O loop utama QEMU di macOS secara signifikan dengan mengganti loop utama yang didasarkan pada select() dengan loop utama yang didasarkan pada kqueue.
  • Ukuran buffer logcat meningkat menjadi 2 MB guna mengatasi masalah pada EOF tak terduga yang tidak stabil saat menjalankan logcat dengan emulator.
  • Emulator sekarang mengekspor variabel lingkungan LC_ALL=C secara default. Perubahan ini mengatasi masalah error dan ketidakcocokan terkait menjalankan emulator di lingkungan lokalitas yang berbeda.
  • Kini Anda bisa melacak penggunaan CPU dan RAM emulator menggunakan statistik performa yang bisa diakses di Extended Controls > Settings > Advanced > Performance Stats. Gunakan statistik ini untuk mendiagnosis masalah dengan cepat jika emulator terlihat menggunakan terlalu banyak CPU atau RAM.
  • glReadPixels GL_IMPLEMENTATION_COLOR_READ_TYPE sekarang menggunakan hasil GPU host, bukan hasil emulasi. Perubahan ini membantu memperbaiki masalah saat image dan aset tidak muncul karena format yang tidak tepat untuk dibaca ulang.
  • Menambahkan dukungan untuk ekstensi OpenGL ES GL_EXT_texture_format_BGRA8888 dan GL_APPLE_texture_format_BGRA8888 jika ekstensi ini didukung oleh host.
  • Menambahkan lebih banyak info diagnostik ke UI Bugreport. Selain itu, Anda dapat mengakses laporan bug dari konsol menggunakan perintah berikut:
    • telnet localhost 5554
    • avd bugreport
  • Pada image sistem Android Q, emulator meningkatkan ukuran RAM minimum menjadi 2 GB.
  • Menambahkan lebih banyak logging dan printing setiap kali OpenGL atau hypervisor gagal melakukan inisialisasi.
  • Jika emulator tidak dapat memulai instance -read-only serentak dari AVD, emulator sekarang akan berupaya untuk meluncurkan kembali AVD -read-only 3 kali selama 3 detik. Perubahan ini meningkatkan kemungkinan bahwa emulator akan dapat meluncurkan instance AVD -read-only serentak jika instance lain yang dapat ditulis dari AVD tersebut tidak selesai membersihkan file lama.
  • Untuk image sistem mendatang, emulator kini mendukung Hardware Composer 2.0. Perubahan ini akan menurunkan overhead driver saat menjalankan sebagian besar animasi.
  • Build emulator kini didasarkan pada CMake/Ninja.
  • Pada UI extended controls emulator, garis pembagi di tabel pintasan keyboard dipulihkan.
  • Kini pengguna dapat ikut serta memberikan metrik penggunaan CPU dan RAM kepada tim kami dalam interval 10 detik. Metrik ini digunakan untuk memperkaya data kami tentang penggunaan resource emulator dengan berbagai kasus penggunaan dari pengguna, yang memungkinkan kami membuat emulator lebih efisien dan responsif.

Perbaikan Project Marble umum

Update ini juga mencakup perbaikan umum berikut yang merupakan bagian dari inisiatif Project Marble:

  • Memperbaiki masalah terkait frame yang berkedut dan salah yang ditampilkan pada sistem dengan GPU Intel saat menggunakan image sistem Android Q.
  • Memperbaiki masalah layar hitam muncul ketika menggunakan image sistem Android Q dengan skin Pixel 2 XL (atau skin apa pun yang memiliki notch atau sudut bulat).
  • Memperbaiki masalah saat opsi command line -partition-size tidak akan menyetel ukuran partisi data.
  • Memperbaiki masalah pulseaudio pada emulator Linux yang berputar dan menggunakan seluruh core CPU dalam beberapa situasi.
  • Memperbaiki masalah pada akses memori yang tidak disetujui saat memproses tekstur terkompresi.
  • Memperbaiki error GL yang terjadi pada host di glTexSubImage2D saat mengupdate buffer gralloc tertentu (dengan format RGB 565, RGB10A2, RGB(A)16F).
  • Memperbaiki masalah tampilan pada image sistem Android Q dengan snapshot saat geometri menu notifikasi dirender dengan setelan pembagi instance yang tidak tepat.
  • Memperbaiki beberapa error dan masalah freeze yang sulit direproduksi pada peluncuran yang terjadi karena Qt kehilangan sinyal atau mengalami ketidakstabilan, statusnya tidak konsisten pada saat dimulai.
  • Memperbaiki berbagai masalah secara serentak. Kini kami bisa membuat emulator Linux dengan ThreadSanitizer (TSAN), yang bisa dengan mudah menemukan bug yang sulit untuk direproduksi.
  • Bagi pengguna Linux: kami mendapati bahwa pada kernel host tertentu, kernel Android tamu dapat menghentikan proses dan keluar di KVM dengan error hardware generik. Jika hal tersebut terjadi, emulator akan melakukan abort() sebagai upaya meningkatkan debuggability (sebelumnya, emulator hang begitu saja).
  • Bagi pengguna Linux: untuk kenyamanan dengan penyiapan CI, Anda dapat menggunakan opsi command line -stdouterr-file <file-name> baru untuk mengalihkan stdout dan stderr ke file.
  • Memperbaiki masalah saat SO_REUSEADDR digunakan secara tidak benar. Untuk informasi selengkapnya, lihat detail commit.
  • Memperbaiki masalah yang telah lama ada pada emulator Windows saat subproses, seperti perintah ADB, gagal dijalankan jika nama pengguna memiliki spasi.
  • Memperbaiki masalah pada inisialisasi RCU yang tidak ada dalam thread HAXM vCPU. Perbaikan ini mungkin dapat mengatasi beberapa kondisi race dan error.
  • Memperbaiki error yang terjadi pada pola tertentu dalam menyimpan dan memuat snapshot dari UI snapshot tersebut yang menggunakan image sistem Android Q terbaru.
  • Memperbaiki error saat kamera scene virtual akan kosong saat emulator diinisialisasi dari snapshot jika makro AR diputar setelah snapshot tersimpan.
  • Memperbaiki masalah saat beberapa pengguna dengan penyiapan desktop jarak jauh mengalami layar hitam saat meluncurkan emulator di Linux. Untuk mencegahnya, emulator sekarang mengonfigurasi MESA_RGB_VISUAL secara eksplisit. Untuk informasi selengkapnya, lihat detail commit.
  • Memperbaiki masalah saat tombol rotasi muncul pada AVD TV.
  • Memperbaiki masalah yang mungkin terjadi jika emulator disetel selalu di atas, jendela extended controls akan muncul setiap kali emulator diputar.

Profil hardware untuk perangkat foldable

Sekarang emulator menyertakan profil hardware untuk perangkat foldable. Untuk menggunakan profil hardware baru ini, Anda harus menggunakan Android Studio 3.5 Canary 10 atau yang lebih tinggi.

Ada dua profil hardware foldable yang dapat Anda gunakan untuk membuat AVD:

  • 7.3" Foldable: 1536x2152 dibentangkan, 4.6" 840x1960 dilipat
  • 8" Foldable: 2200x2480 dibentangkan, 6,6" 1480x2480 dilipat

Jika menjalankan emulator menggunakan salah satu profil hardware ini, Anda dapat melipat dan membentangkan perangkat menggunakan tindakan lipat dan bentangkan pada toolbar emulator, perintah konsol, atau pintasan keyboard berikut:

  • Lipat: Ctrl + F (Command + F pada macOS)
  • Bentangkan: Ctrl + U (Command + U pada macOS)

Makro AR

Emulator kini menyertakan makro AR yang dapat membantu Anda menguji tindakan AR umum. Misalnya, Anda dapat menggunakan makro untuk mereset semua sensor perangkat ke status defaultnya.

Untuk informasi selengkapnya, lihat Menguji tindakan AR umum dengan makro.

Dukungan Vulkan (Windows, Linux)

Pengguna Windows dan Linux kini dapat menguji aplikasi Vulkan dengan Android Emulator hingga Vulkan 1.1 jika menggunakan image sistem yang kompatibel (Android Q Beta 3 atau yang lebih tinggi untuk Vulkan 1.1, Android Q Beta 2 untuk Vulkan 1.0) dan GPU host yang kompatibel (mencakup sebagian besar GPU Intel, NVIDIA, dan AMD dari tahun 2014 dan yang lebih baru).

Untuk mengaktifkan dukungan Vulkan, Anda harus menambahkan tombol fitur berikut ke file ~/.android/advancedFeatures.ini Anda (buat file jika belum ada):

  • Vulkan = on
  • GLDirectMem = on

Dukungan awal untuk developer ROM

Developer ROM yang sedang membangun target sdk_phone_x86 atau sdk_phone_x86_64 (varian userdebug, eng) pada cabang master AOSP sekarang dapat menjalankan emulator dengan Vulkan aktif.

Dukungan ini masih bersifat eksperimental dan terutama ditujukan bagi developer yang mengerjakan image sistem, driver, dan mesin game. Banyak ekstensi yang masih belum ada. Namun, memori HOST_COHERENT sudah didukung, dan sekarang Anda dapat menjalankan Contoh Tutorial Vulkan API.

Jika menggunakan Linux, Anda dapat mencobanya dengan menggunakan perintah berikut:

mkdir aosp-master
cd aosp-master
repo init -u https://android.googlesource.com/platform/manifest -b master --depth=1
repo sync -c -j12
. build/envsetup.sh
lunch sdk_phone_x86_64-userdebug
make -j12
emulator -no-snapshot -feature Vulkan,GLDirectMem

Rendering Skia dengan Vulkan

GPU NVIDIA dan AMD yang mendukung Vulkan juga mendukung interop zero-copy dengan OpenGL melalui ekstensi GL_EXT_memory_objects. Emulator memanfaatkan kemampuan ini untuk menyediakan cara lengkap merender UI Android menggunakan Skia Vulkan API.

Jika memiliki GPU NVIDIA atau AMD yang mendukung Vulkan, gunakan perintah berikut untuk menguji rendering Skia dengan image sistem yang kompatibel (Android Q Beta 3 dan yang lebih tinggi):

adb shell
su
setprop debug.hwui.renderer skiavk
stop
start

Dukungan macOS untuk Vulkan

Dukungan macOS masih bersifat eksperimental, tetapi emulator sudah menyertakan Swiftshader, MoltenVK, dan libportability (gfx-rs) API. Anda dapat melakukan eksperimen menggunakan API ini dengan menyetel variabel lingkungan berikut:

  • Swiftshader: ANDROID_EMU_VK_ICD=swiftshader
  • MoltenVK: ANDROID_EMU_VK_ICD=moltenvk
  • libportability: ANDROID_EMU_VK_ICD=portability

Masalah umum

HAXM terkadang bisa gagal memetakan memori koheren Vulkan kepada tamu dan menonaktifkan emulator. Masalah ini akan teratasi pada update HAXM mendatang.

Emulator streaming gRPC (Linux)

Kami selalu berupaya membuat emulator menjadi serbaguna dengan mengizinkan rendering dan interaktivitas GPU host di berbagai konteks yang berjalan. Pengguna CI dan desktop jarak jauh kami memiliki masalah berikut yang sudah lama ada:

  • Secara terprogram mengirim perintah input ke emulator yang melibatkan dijalankannya perintah shell adb yang dapat mengalami overhead tinggi, maupun digunakannya konsol telnet yang lebih cepat, tetapi mungkin tidak berfungsi dengan konfigurasi jaringan tertentu.
  • Pengguna CI kerap menjalankan headless emulator, yang dapat menyulitkan untuk melihat masalah yang mengharuskan layar terlihat atau interaktif.
  • Karena rendering GPU kerap dikaitkan dengan tampilan non-virtual host, pengguna desktop jarak jauh sering kali tidak dapat berinteraksi dengan emulator saat menggunakan rendering GPU host.

Untuk mengatasi masalah ini, saat berjalan pada sistem operasi Linux, emulator kini menyajikan layanan gRPC. gRPC adalah framework umum untuk RPC yang bekerja melalui HTTP.

Secara default, layanan gRPC emulator dinonaktifkan, tetapi Anda dapat mengaktifkan layanan ini menggunakan opsi command line berikut, di mana <port> adalah port yang emulatornya harus melayani permintaan gRPC (biasanya 5556):

-grpc <port>

Setelah layanan dimulai, perintah gRPC bisa dikeluarkan dari klien. Kumpulan perintah saat ini memungkinkan untuk mengirim peristiwa input dan menerima screenshot. Perintah ini membantu mengatasi masalah berikut:

  • Perintah input dapat dikirim ke emulator dengan overhead rendah melalui HTTP. HTTP juga memungkinkan perintah untuk dikirim pada konfigurasi jaringan tambahan.
  • Perintah screenshot dapat dikirim untuk mengkueri layar saat ini, bahkan jika emulator berjalan secara headless. Untuk interaktivitas, peristiwa input juga dapat dikirim kembali ke emulator.
  • Pengguna desktop jarak jauh dapat menjalankan headless emulator pada layar utama dengan rendering yang dipercepat GPU saat menggunakan gRPC untuk mendapatkan screenshot dan mengirim peristiwa input agar dapat berinteraksi dengan emulator.

Untuk daftar lengkap perintah yang tersedia, lihat protobuf ini.

Guna membantu Anda memulai gRPC, kami telah menyediakan beberapa klien sampel yang dapat Anda rujuk.

Saat ini, hal ini mencakup sampel berikut:

  • Suatu layanan berbasis Go yang bisa digunakan untuk mengirim kueri status emulator.
  • Aplikasi React yang menunjukkan interaktivitas jarak jauh melalui RPC input dan screenshot. Sampel ini memerlukan protobuf versi 3.7.0 atau yang lebih tinggi.
  • Sampel Python yang mengirim kueri konfigurasi VM emulator, kemudian mengirimkan serangkaian perintah.

28.0.25 (29 Maret 2019)

Update ini mencakup peningkatan dan perbaikan berikut:

Build emulator headless

Emulator menjadi sulit disiapkan dengan Docker dan alur kerja continuous integration (CI) lainnya karena ekspektasi implisit dari sistem yang dapat mendukung Qt dengan dependensi library bersama (di antara masalah lain).

Sebagai langkah awal untuk mengatasinya, kami telah memperkenalkan varian peluncur emulator dengan file QEMU yang dapat dieksekusi yang tidak bergantung pada Qt. Masih ada link ke libX11 di Linux, tetapi akan segera kami hapus.

Untuk menggunakan emulator headless, jalankan emulator dari command line seperti biasa, tetapi ganti pemanggilan biner emulator dengan emulator-headless. Untuk informasi selengkapnya, lihat update rilis Canary 28.1.8.

  • Memperbaiki tampilan frame yang berkedut dan salah yang ditampilkan pada GPU Intel saat menjalankan image sistem Android Q.
  • Memperbaiki masalah layar hitam yang muncul saat menggunakan image sistem Android Q dengan skin Pixel 2 XL.
  • Biner BIOS terbaru kini digunakan untuk memulai emulator. Perubahan ini dapat membantu mengurangi error "permintaan penonaktifan vCPU" yang kadang terjadi saat meluncurkan emulator di Windows.
  • Mem-backport perbaikan untuk masalah "tampilan yang salah saat melanjutkan image sistem Android Q dari snapshot".
  • Pengguna mengalami masalah emulator"tidak sah" karena perubahan yang tidak kompatibel pada ADB di dalam alat platform 28.0.2. Kini ADB dapat digunakan secara aman dari alat platform 28.0.2 dengan emulator. Jika mengalami masalah dengan emulator yang "tidak sah", lakukan langkah-langkah pemecahan masalah berikut:
    1. Keluar dari semua emulator.
    2. Hapus file ~/.android/adbkey dan ~/.android/adbkey.pub.
    3. Jalankan perintah berikut: adb kill-server
    4. Jalankan perintah berikut: adb devices
    5. Hapus total data AVD.
    6. Luncurkan kembali emulator.

28.0.23 (29 Januari 2019)

Update ini mencakup peningkatan dan perbaikan berikut:

Input audio host dinonaktifkan secara default

Postingan terbaru di Reddit menjelaskan secara detail bagaimana Android OS tamu akan selalu menggunakan audio mikrofon host, sehingga memungkinkan "Ok Google" berfungsi secara tiba-tiba. Kami mohon maaf atas terjadinya hal ini dan akan segera bekerja dengan tim Android demi memastikan deteksi frasa pengaktif juga dinonaktifkan pada image sistem.

Untuk mengatasi ini, kami membuat perubahan berikut:

  • Data audio host aktual kini dikosongkan secara default. Jika tamu menggunakan mikrofon, terdengar senyap dan bukan dari audio host.
  • Jika ingin menggunakan data audio host, kini Anda dapat mengaktifkan opsi tersebut dengan membuka Extended Controls > Microphone dan mengaktifkan Virtual microphone uses host audio input. Opsi ini otomatis dinonaktifkan setiap kali emulator dimulai ulang.

Update pada investigasi penggunaan CPU

Selama investigasi Project Marble, kami mendapati bahwa penggunaan CPU yang tinggi pada emulator umumnya dikelompokkan ke dalam tiga kategori berikut:

Saat tidak ada aktivitas: Update aplikasi otomatis pada image Play Store

Pada interval acak, kami menemukan bahwa semua aplikasi terinstal akan diupdate, meskipun pengguna tidak login. Selama proses ini, penggunaan CPU didorong ke jumlah core x 100% (biasanya ~400%) di GMSCore dan dex2oat. Anda dapat melakukan mitigasi terhadap masalah ini dengan menonaktifkan update aplikasi otomatis pada aplikasi Play Store.

Saat tidak ada aktivitas: Deteksi frasa pengaktif

Saat berada di layar utama dan tanpa aplikasi di latar depan, mungkin terdapat penggunaan CPU yang besar (~25% dengan lonjakan hingga 50%). Hal ini disebabkan oleh deteksi frasa pengaktif yang terus-menerus mem-ping host. Anda tidak dapat melakukan mitigasi masalah ini dengan menonaktifkan input audio host karena cost CPU utamanya disebabkan oleh waktu yang diperlukan untuk sampai ke tamu dari host. Namun, Anda dapat memitigasi masalah ini dengan mencabut izin mikrofon dari aplikasi Google.

Saat aktif, terkadang saat tidak ada aktivitas: Animasi

Sumber ketiga penggunaan CPU yang tinggi adalah animasi. Dengan mengoptimalkan stack driver grafis, kami juga dapat mengurangi penggunaan CPU, bahkan saat adanya aktivitas pada emulator. Kami akan meluncurkan pengoptimalan driver grafis secara bertahap sebagai bagian dari Project Marble.

28.0.22 (21 Desember 2018)

Update ini mencakup peningkatan dan perbaikan berikut:

  • Memperbaiki masalah yang sudah lama ada, saat pada beberapa setelan, emulator Mac akan memulai ulang atau kernel panic saat disimpan di Quickboot. (Masalah 120951634)
  • Jika menggunakan file yang dipetakan sebagai snapshot RAM, emulator akan membuka pemetaan file ini secara eksplisit saat keluar.

28.0.20 (11 Desember 2018)

Update ini mencakup peningkatan dan perbaikan berikut:

  • Memperbaiki masalah pada Windows yang menyebabkan emulator membekukan pemuatan snapshot pada model GPU Intel tertentu.
  • Memperbaiki masalah yang menyebabkan status perangkat ADB unauthorized saat menggunakan lokasi ANDROID_SDK_HOME tidak standar.
  • Memperbaiki masalah pada Windows yang menyebabkan emulator error saat mem-booting image sistem dengan akselerasi CPU nonaktif.
  • Memperbaiki masalah tampilan emulator pecah. Downsampling seharusnya sudah berfungsi.
  • Memperbaiki masalah pada macOS 10.14+ di mana kontrol mouselook kamera scene virtual bisa menjadi terlalu sensitif karena interaksi dengan setelan keamanan aksesibilitas baru.
  • Memperbaiki error pada penghitungan zona waktu yang dapat menyebabkan jam emulator berubah secara sporadis.
  • Memperbaiki error rendering di berbagai aplikasi cocos2d dan Unreal engine.
  • Menambahkan dukungan Wi-Fi peer-to-peer pada emulator. Dua emulator kini dapat saling berkomunikasi langsung melalui Wi-Fi menggunakan image Pie Play Store terbaru. Agar dapat menggunakan Wi-Fi peer-to-peer, mulai dua AVD dengan argumen -wifi-server-port dan -wifi-client-port yang sama:
    • emulator @<server-avd-name> -wifi-server-port 9999
    • emulator @<client-avd-name>-wifi-client-port 9999
  • Menambahkan dukungan untuk lebih banyak webcam di Windows dengan mengambil ukuran frame yang tidak kompatibel dan mengubah ukurannya secara dinamis agar sesuai dengan setelan kamera pada tamu Android.

28.0.16 (November 2018)

Update ini mencakup beberapa fitur baru, peningkatan pada fitur yang ada, dan perbaikan bug.

Penggunaan resource

Kini emulator menggunakan lebih sedikit RAM secara keseluruhan, terutama jika menggunakan image sistem dengan API level 28 atau yang lebih tinggi. Image sistem ini termasuk pengoptimalan memori untuk driver grafik sisi tamu.

Selain itu, kami juga mengoptimalkan penggunaan resource pada area berikut:

  • Mengurangi penggunaan memori emulator selama pengujian yang berjalan lama. Jika masih mengalami masalah pada penggunaan memori di dalam proses ini, laporkan masalah yang menjelaskan kasus penggunaan Anda di Issue Tracker.
  • Mengurangi penggunaan CPU saat menjalankan aplikasi dengan animasi.
  • Memperbaiki masalah konteks QEMU AIO yang bisa mengalami kebocoran di Windows.

Menjalankan beberapa instance AVD tunggal secara serentak

Kini Anda dapat meluncurkan beberapa instance AVD yang sama dan menjalankannya secara serentak. Instance yang Anda luncurkan setelah instance pertama bersifat hanya-baca, dan perubahannya pada disk virtual tamu akan dihapus setelah keluar.

Untuk menjalankan beberapa instance AVD yang sama sekaligus, luncurkan instance apa pun setelah instance pertama dari command line menggunakan flag -read-only.

Fitur ini dimungkinkan dengan menyalin file QCOW2 yang terkait dengan bagian yang dapat ditulis dari image Android. Demi membantu Anda mengelola kapasitas disk, kami juga telah mengelompokkan alat command line qemu-img agar Anda dapat melakukan pra-commit file QCOW2 sebelum meluncurkan beberapa instance.

Selain itu, jika digunakan bersama-sama dengan fitur snapshot RAM tamu yang didukung File, beberapa instance AVD berbagi snapshot Quickboot AVD utama sebagai sumber umum RAM tamu salin-saat-menulis. Properti ini berarti bahwa instance memiliki banyak kesamaan RAM. Gunakan fitur ini untuk menjalankan pengujian yang perlu beberapa perangkat agar berjalan secara paralel.

Terima kasih atas masukannya tentang kemungkinan kasus penggunaan yang merupakan bagian dari alur kerja CI atau interaktif normal Anda. Buat atau beri suara positif pada masalah di Issue Tracker.

Snapshot RAM tamu yang didukung file

Dengan melakukan prapengalokasian dan pemetaan RAM tamu sebagai file, emulator sekarang dapat menyimpan snapshot Quickboot selama runtime, bukan melakukan semua pekerjaan saat keluar. Jika saat ini Anda mengalami waktu penyimpanan yang lama saat menutup emulator, aktifkan fitur ini untuk meningkatkan performa Quickboot Anda. Secara default, snapshot Quickboot disimpan saat keluar dan dimuat lagi setiap saat, seperti menangguhkan dan mengaktifkan perangkat sungguhan.

Karena RAM tamu Android kini otomatis disimpan secara default, jika ingin menentukan status perangkat dan memuat berulang kali dari status tersebut, Anda harus memberi tahu emulator untuk menghapus perubahan setelah masing-masing sesi. Anda dapat melakukannya dengan beberapa cara berikut:

  • Gunakan flag -no-snapshot-save atau -read-only saat meluncurkan emulator dari command line.
  • Buka Extended Controls > Snapshots > Settings dan alihkan Auto-save current state to Quickboot? ke No.
  • Anda harus memulai ulang emulator setelah memilih opsi ini. Jika emulator ditetapkan ke penyimpanan otomatis, Anda dapat menjalankan perintah berikut untuk menetapkan checkpoint:
    adb emu avd snapshot remap 0
    
    Setelah Anda menjalankan perintah ini, snapshot Quickboot emulator akan tetap berada di checkpoint tersebut. Jalankan perintah yang sama lagi untuk memuat emulator dari checkpoint Anda.

Snapshot yang diambil dan dimuat melalui UI Snapshot berfungsi seperti sebelumnya, tanpa pemetaan file.

Karena ini adalah perubahan besar pada cara Quickboot berfungsi, kami akan sangat berterima kasih atas masukan Anda, baik yang sifatnya meningkatkan performa Quickboot maupun memberi tahu masalah apa saja yang Anda temui saat menggunakannya. Jika mengalami masalah, Anda dapat menonaktifkan fitur ini dengan menambahkan baris berikut ke file ~/.android/advancedFeatures.ini:

QuickbootFileBacked = off

Jika Anda memulai emulator dari snapshot (baik menggunakan opsi command line -snapshot, atau meluncurkan dari snapshot di pengelola AVD), emulator akan menonaktifkan penyimpanan otomatis untuk snapshot Quickboot dan menyimpannya saat keluar. Tindakan ini mengurangi kemungkinan snapshot Quickboot diganti secara tidak sengaja, dan menghindari jalur fallback lambat yang tidak menggunakan snapshot Quickboot yang didukung file.

QEMU 2.12

Kami telah membuat varian baru QEMU, dari QEMU 2.9 ke QEMU 2.12. Update ini mencakup perubahan QEMU berikut:

Berikut beberapa perubahan penting yang memengaruhi Android Emulator:

  • x86: gdbstub sekarang menyediakan akses ke pendaftaran SSE.
  • Disk image: Penguncian image ditambahkan dan diaktifkan secara default. Beberapa proses QEMU tidak dapat menulis ke image yang sama selama host mendukung OFD atau penguncian posix, kecuali jika opsi ditentukan dengan cara lain.
  • qemu-img: qemu-img resize mendukung praalokasi bagian baru image.
  • Penyusutan QCOW2 sekarang didukung pada qemu dan qemu-img.

Aksesibilitas

  • Memperbaiki masalah pada pembaca layar dan menambahkan dukungan yang lebih optimal untuk fitur pada UI Snapshot dan Rekaman Layar.
  • Membuat ikon notifikasi Quick Boot lebih mudah diakses oleh pengguna buta warna.

Grafik

  • Memperbaiki masalah akses memori yang melebihi batas yang bisa terjadi pada pointer array vertex OpenGL ES.
  • Beberapa GPU lama tidak mendukung OpenGL 2.1 atau yang lebih tinggi (yang diperlukan), atau memiliki masalah keandalan lainnya. Masalah ini dapat menyebabkan emulator error di awal, berhenti, atau tidak dapat digunakan pada setelan GPU default. Emulator akan otomatis beralih ke perender Swiftshader jika mendeteksi GPU tersebut digunakan.
  • Memperbaiki masalah yang menyebabkan emulator tidak memposting framebuffer yang benar jika FBO != 0 terikat pada saat eglSwapBuffers.
  • Memperbaiki masalah tampilan Android virtual yang hanya akan muncul di pojok kiri atas. Kami yakin hal ini disebabkan oleh variabel lingkungan Qt yang salah dikonfigurasi. Sekarang emulator mengganti semua variabel lingkungan terkait penskalaan Qt.
  • Memperbaiki masalah ketika emulator error dalam beberapa situasi saat memuat aplikasi GLES1 dari snapshot.
  • Memperbaiki masalah konkurensi di OpenGL dan meluncurkan thread render yang dapat mengakibatkan double free atau data rusak.
  • Android Emulator kini memberi dukungan tekstur terkompresi ASTC LDR (GL_KHR_texture_compression_astc_ldr) untuk image sistem yang menggunakan API level 28 atau yang lebih tinggi.
  • Kebanyakan GPU modern sekarang dapat meluncurkan emulator dengan OpenGL ES 3.x yang diaktifkan secara default tanpa menggunakan tombol fitur GLESDynamicVersion.
  • -gpu guest (rendering software pada tamu) tidak digunakan lagi. Image sistem untuk API level 28 atau yang lebih tinggi sekarang otomatis beralih menggunakan Swiftshader (-gpu swiftshader_indirect).
  • Jika emulator diluncurkan dari command line menggunakan flag -no-window, perender defaultnya sekarang adalah Swiftshader.

Lokasi

  • Emulator kini dapat memperbarui arah dengan posisi lintang dan bujur. Sensor virtual magnetometer menyesuaikan sendiri secara dinamis ke arah utara magnetis dengan menyimpulkan gerakan saat memutar file GPX atau KML.
  • Kecepatan perangkat kini dapat disetel di halaman Lokasi.
  • Saat memutar file GPX atau KML, kecepatannya disetel secara otomatis, dan disetel ke nol saat pemutaran berakhir.
  • Ketinggiannya tidak lagi dibatasi antara -1.000 dan +10.000 meter.
  • Memperbaiki masalah di mana lokasi GPS virtual tidak akan diperbarui secara berkala kecuali jendela Extended Controls telah dibuka minimal satu kali.

Kamera

Di Windows, kini mendukung lebih banyak webcam setelah emulator mengubah secara dinamis ukuran frame kamera yang dikirim dari webcam. Fitur ini juga mencegah terjadinya error pada saat pengiriman frame yang menyebabkan emulator hang.

Play Store

Untuk mengatasi masalah kehabisan kapasitas disk pada image Play Store, kini emulator otomatis mengubah ukuran partisi data pengguna menjadi 6 GB saat berjalan dengan Play Store AVD baru.

Peningkatan dan perbaikan kualitas umum

  • Beberapa pengguna melaporkan bahwa emulatornya berjalan lambat. Kami berhasil identifikasi adanya satu kemungkinan penyebab di mana direktori sementara emulator tersebut memiliki terlalu banyak file usang di dalamnya. Sebagai solusinya, emulator tidak lagi menyimpan file pemeriksaan keaktifan ADB pada direktori tersebut. Namun, tindakan ini mungkin juga akan membantu menghapus konten pada folder. Folder ini berada di salah satu lokasi berikut, bergantung pada sistem operasi Anda:
    • Windows: C:\Users\<username>\AppData\Local\Temp\AndroidEmulator\*
    • macOS atau Linux: /tmp/android-<username>/*
  • Pesan error akan muncul jika emulator tidak dapat memulai karena RAM yang tersedia tidak mencukupi. Jika menggunakan Windows dan melihat adanya RAM yang tersedia, tetapi masih belum bisa memulai emulator, bisa jadi commit charge telah terlampaui. Untuk mendapatkan bantuan terkait masalah ini, lihat halaman Pemecahan Masalah emulator.
  • Opsi command line -sysdir kini mengganti secara benar direktori image sistem yang ditentukan.
  • Modem virtual kini mendukung kueri +MAI info aktivitas model.
  • Memperbaiki berbagai masalah dengan kebocoran memori, kerusakan memori, dan penggunaan CPU. Jika Anda mengalami error, kebocoran memori, atau penggunaan resource yang tinggi lainnya, ajukan masalah di Issue Tracker.
  • Memperbaiki masalah yang muncul kembali pada macOS 10.14, saat penggunaan headset Bluetooth dengan emulator akan mengurangi kualitas audio secara global. Untuk mencegahnya, emulator sekarang menghindari penggunaan audio Bluetooth saat berjalan di macOS. (Masalah 37070892)
  • Memperbaiki masalah pada jam emulator di Windows yang tidak berada di zona waktu yang benar.
  • Memperbaiki kelambatan emulator dan hang pada sistem Linux dengan hard drive berputar (HDD).
  • Memperbaiki beberapa peringatan kompilasi yang dapat menyebabkan kerusakan stack di macOS.
  • Memperbaiki masalah yang dapat menimbulkan laporan hang menyesatkan.
  • Memperbaiki masalah dengan segera menutup kumpulan thread yang dapat menyebabkan error jika salah satu thread tidak berhasil dibuat.
  • Memperbaiki masalah pada macOS saat timer menjadi tidak dapat diandalkan, yang mengakibatkan hang dan perilaku aneh lainnya. Jika mengalami emulator hang pada macOS, laporkan masalah di Issue Tracker.
  • Memperbaiki masalah di mana menutup emulator akan menonaktifkan UI, tetapi sebenarnya tidak menutup emulatornya.
  • Memperbaiki masalah yang melibatkan error sporadis, termasuk pembatalan karena membuka terlalu banyak instance /dev/urandom.
  • Memperbaiki masalah yang menyebabkan emulator gagal memulai setelah pertama kali jika ADB dihentikan secara paksa.
  • Build MIPS telah dihapus. Jika masih memerlukan MIPS, laporkan masalah di Issue Tracker.
  • Memperbaiki masalah koneksi ADB yang bisa rusak saat snapshot dimuat.
  • Memperbaiki masalah di mana jendela emulator akan memiliki afterimage atau teleport offscreen saat melanjutkan snapshot di mana orientasi perangkat berbeda dari orientasi default AVD.
  • Memperbaiki masalah yang melibatkan error saat menyimpan snapshot.
  • Di Linux, sistem file btrf dapat menyebabkan perlambatan ekstrem karena emulator otomatis menyimpan snapshot dan menggunakan salin-saat-menulis untuk perangkat disk virtualnya. Sebaiknya bersihkan direktori ~/.android/avd dan jalankan perintah berikut pada direktori ~/.android/avd yang kosong:
    chattr +C
    
    Tindakan ini akan membuat snapshot baru di folder tempat salin-saat-menulis dinonaktifkan.

HAXM 7.3.2

Kami ingin menyinggung HAXM 7.3.2 lagi karena ini harus diinstal agar image sistem terbaru dapat berjalan dengan baik pada emulator. HAXM 7.3.2 semestinya sudah tersedia di saluran Stabil, dan juga dapat diinstal secara manual dari https://github.com/intel/haxm/releases.

Berikut adalah beberapa masalah yang berhasil diatasi oleh versi HAXM ini:

  • Memperbaiki error acak OS tamu yang menggunakan kernel Linux terbaru (>= 4.6). Misalnya, Ubuntu 18.04 (#39, #74).
  • Memperbaiki bug emulator instruksi x86 yang dapat menyebabkan error pada host (#93).

Penghentian Windows 32 bit

Karena penggunaan yang rendah dan biaya pemeliharaan yang tinggi, kami berencana menghentikan versi 32 bit Android Emulator yang berjalan pada Windows. Kami akan meluncurkan rencana transisi sebelum penghapusan dan akhir siklus proses (EOL) untuk Android Emulator versi 32 bit. Namun, kami akan aktif mencari masukan atau kekhawatiran terkait perubahan mendatang.

Beri tahu kami di Issue Tracker jika saat ini Anda mengandalkan Android Emulator versi 32 bit yang berjalan di Windows, dan jelaskan kepada kami cara terbaik bekerja sama dengan Anda pada masa mendatang.

27.3.10 (Agustus 2018)

Update ini mencakup perbaikan bug berikut:

Perbaikan konfigurasi ukuran RAM

Beberapa pengguna melaporkan bahwa emulatornya berjalan lambat. Kami berhasil mengidentifikasi satu kemungkinan penyebabnya, yaitu ukuran RAM AVD pada file config.ini AVD disetel secara tidak tepat.

Untuk melakukan mitigasi terhadap masalah ini, emulator akan meningkatkan level RAM minimum untuk image yang menggunakan API level 26 atau yang lebih baru ke level default Android Studio 1536 MB. Jika file config.ini AVD Anda tidak mencantumkan hw.ramSize dalam megabyte, laporkan masalah di Issue Tracker. Anda dapat menemukan file config.ini di lokasi berikut:

~/.android/avd/<avdname>.avd/config.ini

27.3.9 (Juli 2018)

Update ini mencakup peningkatan dan perbaikan bug berikut:

Pesan error yang ditingkatkan untuk Windows Hypervisor Platform

Beberapa pengguna mengalami kesulitan mendiagnosis mengapa Windows Hypervisor Platform (WHPX) gagal diinisialisasi saat mengaktifkan emulator WHPX. Guna membantu Anda mendiagnosis masalah ini, kami telah menambahkan lebih banyak pesan error informatif. Anda dapat mengaktifkan pesan error ini dengan menjalankan emulator dari command line menggunakan flag -verbose.

Perbaikan umum

  • Memperbaiki error OpenGL yang terjadi saat memuat snapshot di aplikasi kamera.

27.3.8 (Juli 2018)

Update ini mencakup beberapa fitur baru, peningkatan pada fitur yang ada, dan perbaikan bug.

Snapshot

Kini Anda dapat menyimpan beberapa snapshot AVD untuk konfigurasi perangkat tertentu dan memilih snapshot tersimpan mana yang akan dimuat saat memulai emulator.

Mulai dari Android Studio 3.2 Canary 13, setiap konfigurasi perangkat menyertakan kontrol pada setelan lanjutan dalam dialog Konfigurasi Perangkat Virtual yang dengannya Anda bisa menentukan snapshot AVD mana yang akan dimuat saat memulai AVD.

Untuk mengakomodasi perluasan fitur snapshot ini, kami telah menambahkan kategori Snapshot ke dialog Extended controls. Panel baru ini berisi kontrol untuk menyimpan dan memuat snapshot AVD, termasuk kontrol untuk menyimpan dan memuat snapshot Quick Boot yang sebelumnya berada di panel Settings.

Anda dapat mengedit nama dan deskripsi setiap snapshot tersimpan.

Untuk mengetahui detailnya, lihat Snapshot.

HAXM 7.2.0

HAXM 7.2.0 kini tersedia di semua saluran.

Pembaruan ini mencakup perbaikan bug dan peningkatan dukungan untuk sejumlah besar RAM. Selain itu, dengan update HAXM dan Emulator 27.3 dan yang lebih baru, snapshot memuat kontennya ke dalam on demand RAM, bukannya memuat keseluruhan snapshot saat perangkat virtual dimulai. Perubahan ini akan mengurangi waktu yang diperlukan untuk memuat snapshot secara signifikan.

Untuk detail selengkapnya, lihat Mengonfigurasi akselerasi VM.

27.2.9 (Mei 2018)

Update ini mencakup beberapa fitur baru, peningkatan pada fitur yang ada, dan perbaikan bug.

Perekaman layar

Sekarang Anda dapat merekam video dan audio dari Android Emulator dan menyimpan rekamannya ke WebM atau file GIF animasi.

Kontrol perekaman layar berada di tab Screen record pada jendela Extended Controls.

Tips: Anda juga dapat membuka kontrol perekaman layar dengan menekan Control + Shift + R (Command + Shift + R di Mac).

Untuk memulai perekaman layar, klik tombol Start recording di tab Screen record. Untuk berhenti merekam, klik Stop recording.

Kontrol untuk memutar dan menyimpan video rekaman ada di bagian bawah tab Screen record. Untuk menyimpan video, pilih WebM atau GIF dari menu di bagian bawah tab, lalu klik Save.

Anda juga dapat merekam dan menyimpan rekaman layar dari emulator menggunakan perintah berikut pada command line:

adb emu screenrecord start --time-limit 10 [path to save video]/sample_video.webm

Screenshot

Anda dapat mengambil screenshot dari command line dengan salah satu perintah berikut:

  • screenrecord screenshot [destination-directory]
  • adb emu screenrecord screenshot [destination-directory]

Screenshot disimpan dengan format PNG.

Kamera scene virtual dan ARCore

Mengembangkan dan menguji aplikasi augmented reality (AR) dengan ARCore sekarang jauh lebih mudah dengan kamera scene virtual baru, yang memungkinkan Anda melakukan eksperimen dengan pengalaman AR dalam lingkungan virtual.

Untuk informasi tentang penggunaan kamera scene virtual di emulator, baca Menjalankan aplikasi AR di Android Emulator.

Google Play Store pada image perangkat Pixel

Google Play Store sekarang diaktifkan untuk image perangkat Pixel dan Pixel 2. Hal ini ditunjukkan dalam AVD Manager di Android Studio 3.2 dan yang lebih baru dengan logo Google Play di kolom Play Store. AVD dengan Google Play Store aktif memiliki tab Google Play pada dialog Extended controls yang menyediakan tombol yang mudah untuk mengupdate layanan Google Play di perangkat.

Snapshot

Kini snapshot Quick Boot dapat dimuat tanpa memulai ulang emulator. Untuk memuat snapshot, buka jendela Extended Controls pada halaman Settings, lalu klik tombol Load Now.

Kami melakukan banyak peningkatan pada pemuatan dan penyimpanan snapshot demi meningkatkan efisiensi penggunaan resource dan meminimalkan waktu operasinya. Jika masih mengalami proses penyimpanan yang luar biasa lama, ajukan masalah yang memberikan detail CPU, RAM, dan setelan software antivirus/firewall/ keamanan apa saja yang berjalan.

Rendering dengan Skia

Jika menggunakan image untuk API 27 atau yang lebih baru, emulator dapat merender UI Android dengan Skia, yang dapat merender secara lebih lancar dan efisien.

Untuk saat ini, penggunaan Skia mengharuskan Anda untuk mengaktifkannya secara eksplisit.

Untuk mengaktifkan rendering Skia, gunakan perintah berikut di adb shell:

  su
  setprop debug.hwui.renderer skiagl
  stop
  start

Kamera

Di Windows, Android Emulator kini menggunakan Media Foundation sebagai back-end webcam, yang meningkatkan secara signifikan performa dan kecepatan frame untuk pengambilan gambar webcam, hingga 720p 30 FPS.

Di Mac, Anda sekarang dapat menggunakan webcam0 dan webcam1 bersamaan.

Lain-Lain

Opsi command line -phone-number-prefix diubah menjadi -phone-number [number], yang memungkinkan menyetel nomor telepon lengkap.

Kini Anda dapat menggunakan alamat SMS alfanumerik.

Perbaikan

  • Versi Android Emulator untuk Linux sekarang dibuat menggunakan toolchain Clang C++ modern. Perubahan ini memperbaiki masalah emulator yang gagal dimulai karena error libGL dan libstdc++.
  • Memperbaiki beberapa penyebab error dan hang.
  • Agar terhindar dari crash dan hang yang disebabkan karena tidak memiliki cukup kapasitas disk, emulator akan memeriksa kapasitas disk kosong yang cukup pada saat dimulai, dan tidak akan mulai kecuali jika tersedia 2 GB.
  • Memperbaiki masalah yang mencegah beberapa game Unity melakukan rendering.
  • Memperbaiki masalah DNS yang menyebabkan emulator tidak dapat terhubung ke jaringan.
  • Memperbaiki masalah yang menyebabkan perubahan pada penyimpanan internal yang dialokasikan ke AVD melalui dialog Konfigurasi Perangkat Virtual tidak berfungsi.
  • Memperbaiki masalah dari banyaknya proses adb yang dibuat dan tidak dinonaktifkan dengan benar.
  • Memperbaiki masalah yang menyebabkan tombol rotasi dan bagian lain dari UI menjadi tidak responsif kecuali jika jendela Extended controls dibuka.
  • Memperbaiki masalah yang menyebabkan salin dan tempel dari host tidak berfungsi kecuali jika dialog Extended controls dibuka minimal sekali.
  • Kotak pengubahan ukuran pada emulator tanpa frame telah diperbarui agar lebih optimal dalam mengikuti tema visual emulator.
  • Telepon dan SMS kini dinonaktifkan dengan benar saat mode pesawat aktif.
  • Memperbaiki masalah yang menyebabkan fungsi SMS dan seluler dinonaktifkan setelah memuat snapshot.
  • Anda tidak akan lagi menerima pesan peringatan palsu yang mengatakan “Unable to open... \pstore.bin. Permission denied.”
  • Memperbaiki masalah yang mencegah penempatan ulang AVD pada layar Mac tertentu.
  • Memperbaiki masalah kedipan dan layar kosong pada komputer MacBook Pro yang lebih baru saat menjalankan AVD dengan skin Pixel 2 XL.
  • Memperbaiki masalah layar kosong saat beralih ke mode yang diperbesar saat emulator tanpa bingkai aktif.
  • Memperbaiki masalah yang menyebabkan skin perangkat dan konten emulator di-scroll tidak sinkron saat tampilannya diperbesar.

Jika masih mengalami hang atau ketidakstabilan lainnya, ajukan masalah.

27.1.12 (Maret 2018)

Update ini mencakup perbaikan untuk masalah berikut:

  • Kualitas audio Bluetooth menurun setelah memulai emulator. (Masalah 37095756)
  • Lokasi yang dikirim ke satu emulator terkirim ke semua emulator. (Masalah 73450633)
  • Lokasi GPS yang ditetapkan menggunakan konsol diganti oleh nilai-nilai yang ditetapkan menggunakan Extended Controls > Location pada antarmuka pengguna grafis (GUI). (Masalah 73471760)

Jika masih mengalami hang atau ketidakstabilan lainnya, ajukan masalah.

Dengan update tersebut, image sistem saat ini, dan versi pratinjau Android Studio, Anda dapat menggunakan Android Emulator untuk menjalankan aplikasi augmented reality yang dibuat dengan ARCore. Untuk persyaratan dan petunjuk lebih mendetail, lihat Menjalankan aplikasi AR di Android Emulator.

27.1.10 (Februari 2018)

  • Resolusi pengambilan gambar kamera

    Bingkai 720p kini dapat diambil gambar dari webcam yang terpasang.

    Agar berfungsi dengan Android 8.1 (API level 27) dan image sistem yang lebih tinggi, semua webcam yang terpasang harus memiliki kemampuan mengambil gambar frame 720p.

  • Perbaikan

    • Memperbaiki masalah yang menyebabkan pengambilan gambar webcam yang terkadang menghasilkan gambar terdistorsi atau berwarna hijau semua.
    • Memperbaiki masalah yang memungkinkan pengguna melihat pesan berikut bahkan jika tidak ada hang yang sebenarnya: "emulator: ERROR: detected a hanging thread 'Qt event loop'. No response for 15000 ms".

Jika masih mengalami hang atau ketidakstabilan lainnya, ajukan masalah.

27.1.7 (Februari 2018)

  • Jendela emulator tanpa frame:

    Secara default, emulator dengan file skin perangkat kini ditampilkan tanpa frame jendela di sekelilingnya. Untuk menampilkannya, aktifkan Show window frame around device pada panel Settings di jendela Extended Controls.

  • Peningkatan Quick Boot agar berfungsi lebih efisien dengan snapshot AVD:

    • Anda dapat menyimpan snapshot AVD kapan saja menggunakan tombol Save Now di panel Settings pada kotak dialog Extended Controls.
    • Emulator mengurangi waktu yang diperlukan untuk menyimpan snapshot dalam banyak kasus dengan hanya menyimpan perbedaan antara kondisi saat ini dan snapshot yang disimpan sebelumnya.

    Untuk detail selengkapnya, lihat dokumentasi Quick Boot.

  • Emulator diperbarui agar bisa menggunakan QEMU 2.9.

    Beberapa peningkatan penting meliputi hal-hal berikut:

    • Pengoptimalan I/O dan penguncian thread I/O yang lebih halus demi menghasilkan performa yang lebih optimal.
    • Perbaikan bug setelah QEMU 2.8 (26.1.4).
    • Implementasi baru untuk back-end HAXM.

    Lihat daftar lengkap perubahan pada log perubahan QEMU 2.9.

  • Implementasi Swiftshader yang sesuai dengan OpenGL ES 3.0:

    Perender Swiftshader emulator kini sepenuhnya sesuai dengan OpenGL ES 3.0. Untuk detail perender Swiftshader, lihat bagian Settings > Advanced dari Extended Controls.

  • Perbaikan

    • Memperbaiki masalah di mana berbagi papan klip tidak berfungsi kecuali jika opsi Enable clipboard sharing dinonaktifkan lalu diaktifkan.
    • Memperbaiki hang saat menggunakan back-end rendering Swiftshader dengan AVD resolusi rendah.

27.0.5 (Januari 2018)

  • ANGLE untuk rendering pada Windows kini dinonaktifkan secara default.

    Jika ANGLE berfungsi optimal, Anda dapat mengaktifkannya kembali dengan flag command line -gpu angle_indirect. Atau, buka jendela Extended controls, lihat Settings > Advanced, lalu pilih ANGLE D3D11 untuk setelan perender OpenGL ES.

  • Memperbaiki masalah saat Shift+B tidak mengetikkan huruf B kapital.

27.0.2 (Desember 2017)

  • Fitur Quick Boot baru memberikan waktu mulai emulator yang lebih cepat, berdasarkan snapshot instance AVD Anda.

    Quick Boot diaktifkan secara default untuk semua AVD. Meskipun AVD harus menjalankan cold boot (seperti menyalakan perangkat) saat dimulai untuk pertama kalinya, semua proses mulai berikutnya akan berlangsung cepat dan sistem dipulihkan ke status saat Anda menutup emulator (mirip dengan mengaktifkan perangkat dari mode tidur).

    Jika ingin mengontrol kapan emulator menyimpan snapshot, buka Extended controls window emulator, lalu klik Settings. Di sini, Anda dapat memilih salah satu setelan berikut untuk Save quick boot state on exit:

    • Yes: Selalu simpan snapshot quick boot saat menutup emulator. Ini adalah defaultnya.
    • No: Jangan pernah simpan snapshot quick boot; selalu lakukan cold-booting.
    • Ask: Bertanya apakah akan menyimpan snapshot quick boot atau tidak saat menutup emulator.

    Pilihan Anda hanya berlaku untuk AVD yang sedang terbuka.

    Untuk informasi selengkapnya, lihat dokumentasi Quick Boot.

  • Dukungan tambahan untuk Mac OpenGL ES 3 (untuk image sistem menggunakan API level 24 dan yang lebih tinggi, Google API, serta x86 ABI).

  • Untuk stabilitas tambahan dalam aplikasi OpenGL ES 2+, emulator kini menggunakan profil inti OpenGL, jika tersedia.

  • Opsi baru untuk rendering dengan Swiftshader/ANGLE:

    • -gpu swiftshader_indirect: Varian Swiftshader yang lebih stabil, lebih cepat yang berfungsi dengan Quick Boot.
    • -gpu angle_indirect (Khusus Windows): Varian ANGLE D3D yang lebih stabil dan berfungsi dengan Quick Boot.

    Opsi lama -gpu swiftshader dan -gpu angle sekarang tidak digunakan lagi. Pada jendela Extended controls, opsi "SwiftShader" dan "ANGLE" untuk setelan perender OpenGL ES di Settings > Advanced sekarang menggunakan varian *_indirect.

  • Berbagai perbaikan bug lainnya.

26.1.4 (Agustus 2017)

Ini adalah rilis kecil dengan perbaikan bug dan peningkatan pada konfigurasi GPU berikut:

  • Mengaktifkan animasi booting saat berjalan di perender ANGLE
  • Menonaktifkan GLES3 saat berjalan di perender ANGLE

26.1.3 (Agustus 2017)

Ini adalah rilis kecil dengan perbaikan bug, peningkatan performa, dan perubahan kecil pada fitur.

  • Versi ini sekarang diwajibkan untuk menggunakan image sistem Android 8.0 terbaru. Versi ini kompatibel dengan Treble, yang menampilkan partisi vendor.img terpisah.
  • HAXM 6.2.0 baru kini tersedia (periksa SDK Manager) dan menyertakan update berikut:
    • Meningkatkan penggunaan memori. Set kerja puncak memori yang dipasang pin oleh HAXM tidak lagi sama dengan ukuran RAM AVD; sebagai gantinya, penggunaan memori dibagi secara on-demand. Hal ini akan membantu emulator berjalan lebih andal pada komputer dengan jumlah RAM lebih rendah.
    • Emulator dengan HAXM 6.2.0 kini dapat melakukan booting lebih cepat di macOS, melewati fase inisialisasi yang panjang.
  • Peningkatan pada konfigurasi GPU
    • Memperbaiki masalah layar hitam saat booting ketika melakukan rendering software sisi tamu dengan mengembalikan ke rendering software sisi host dengan Swiftshader. Revisi terbaru image sistem untuk API level 19-25 dengan Google API seharusnya memiliki rendering sisi tamu yang berfungsi.
    • Memperbaiki masalah ketika emulator dialihkan ke perender software karena mendeteksi adanya GPU Intel yang lebih lama, tetapi emulator tersebut sebenarnya berjalan pada GPU terpisah. GPU mana yang dialihkan untuk menggunakan rendering ANGLE atau Swiftshader akan ditentukan sebagai berikut:
      • iGPU Intel lama memiliki masalah driver pada driver OpenGL dan ANGLE D3D. Pengguna dengan Intel HD Graphics 3xxx dan versi lebih lama akan menggunakan Swiftshader.
      • Beberapa pengguna melaporkan ketidakmampuan menggunakan image API level 25 karena bug yang membuat "Peluncur Pixel terus berhenti". Tampaknya hal ini menjadi masalah driver di beberapa model Intel HD 4xxx. Oleh karena itu, pengguna tersebut akan otomatis dialihkan untuk menggunakan ANGLE.
    • Untuk hasil terbaik dengan emulasi GPU, sebaiknya gunakan GPU NVIDIA atau AMD terpisah, atau GPU Intel yang lebih baru (Iris, HD 5xxx, HD 5xx/6xx).
    • Memperbaiki masalah ketika emulator gagal memulai (emulasi OpenGL gagal diinisialisasi) jika AVD dikonfigurasikan dengan hw.gpu.mode=host dan emulator diluncurkan pada klien desktop jarak jauh.
    • Mengklarifikasi setelan "OpenGL ES API level (requires restart)"; menambahkan opsi untuk mendowngrade dari OpenGL ES 3 ke OpenGL ES 2 jika terjadi masalah atau memerlukan pengujian pada API level OpenGL ES yang lebih rendah.
    • Perender Mesa tidak digunakan lagi; hw.gpu.mode=mesa sekarang akan otomatis dialihkan untuk menggunakan Swiftshader pada host.
  • Peningkatan untuk macOS:
    • Emulator kini sepenuhnya kompatibel dengan macOS 10.13 High Sierra melalui Hypervisor.Framework atau HAXM 6.2.0.
    • Hypervisor.framework sekarang diaktifkan secara default pada macOS untuk image x86 32 bit guna meningkatkan performa dan kompatibilitas macOS. Jika mengalami masalah khusus pada Hypervisor.framework, laporkan bug dan tambahkan HVF = off ke ~/.android/advancedFeatures.ini (buat file ini jika belum ada).
    • Memperbaiki masalah tanpa internet/kegagalan menyematkan debugger saat menggunakan Hypervisor.framework.
    • Sebagai upaya meningkatkan kompatibilitas dan performa pengambilan gambar webcam, pengambilan gambar kamera berbasis QTKit telah diganti dengan yang di-buffer berdasarkan AVFoundation.
  • Menambahkan dukungan untuk Wi-Fi di beberapa image sistem (saat ini hanya API level 25). Titik akses (AP) "AndroidWifi" tersedia dan Android akan otomatis terhubung ke titik ini. Dukungan Wi-Fi dapat dinonaktifkan dengan menjalankan emulator menggunakan parameter command line -feature -Wifi.
  • Beberapa pengguna melaporkan masalah bahwa image sistem Play Store berukuran tetap tidak memiliki penyimpanan yang memadai. Karena itu, kami telah meningkatkan ukurannya menjadi 2 GB secara default (lebih dari 800 MB).
  • Menambahkan pintasan keyboard (Ctrl + Shift + U) untuk membuka halaman UI pelaporan bug langsung dari halaman setelan.
  • Memperbaiki masalah saat CPU lama yang menggunakan Intel x86 EPT, tetapi tanpa UG, emulator akan gagal mem-booting jika lebih dari satu core dikonfigurasi.
  • Memperbaiki masalah saat HyperV akan terdeteksi secara tidak benar jika emulator itu sendiri berjalan di Xen hypervisor.
  • Memperbaiki masalah yang menyebabkan emulator error saat dimulai pada beberapa konfigurasi Linux.

26.1.2 (Juli 2017)

Rilis ini mencakup fitur baru dan peningkatan performa.

  • Menambahkan kemampuan untuk menentukan konfigurasi proxy HTTP kustom pada extended controls (klik More , lalu klik Settings dan Proxy). Secara default, emulator menggunakan setelan proxy HTTP Android Studio, tetapi layar ini memungkinkan Anda menentukan konfigurasi proxy manual.

  • Menambahkan dukungan VNC untuk GPU mode tamu sehingga emulator dapat dilihat dan dikontrol dari jarak jauh. Misalnya, Anda dapat meluncurkan emulator dan membiarkan VNC memproses port 5901 sebagai berikut:

    1. Jalankan: emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1
    2. Buka penampil VNC, seperti penampil tightvnc, untuk terhubung ke port 5901.

      • Untuk menggunakan klien berbagi layar bawaan Mac, perlu sandi VNC saat meluncurkan emulator. Untuk menyetel sandi, gunakan perintah ini:

        emulator -gpu guest -avd avd_name -no-window -qemu -vnc :1,password -monitor stdio

        Lalu, masukkan change vnc password ke konsol, kemudian masukkan sandi.

    Android O saat ini tidak didukung untuk mode VNC.

  • Menambahkan tombol File a bug pada layar Help extended controls (Klik More , lalu klik Help dan Emulator help). Mengklik File a bug akan membuka dialog tempat Anda dapat melihat detail laporan bug seperti screenshot, info konfigurasi AVD, dan log laporan bug. Selanjutnya, Anda dapat menyimpan laporan untuk diri sendiri atau melaporkan masalah emulator.

  • Menambahkan sensor giroskop ke emulator dan panel sensor virtual. Hal ini memerlukan image sistem dengan dukungan giroskop agar dapat berfungsi (saat ini API level 24 dan 25).

  • Menambahkan DNS pilihan host ke daftar Qemu DNS di Windows, jika beberapa antarmuka jaringan virtual pada host memperkenalkan beberapa alamat DNS yang tidak berfungsi untuk emulator.

  • Menambahkan Hypervisor.Framework macOS eksperimental untuk image x86 32 bit pada macOS 10.10+ melalui flag server, yang akan meningkatkan waktu dan performa booting.

    • Jika Anda mengalami masalah dengannya, tambahkan baris HVF = off di ~/.android/advancedFeatures.ini.
  • OpenGL ES 3.x sekarang diaktifkan secara default untuk image sistem dan GPU host yang mendukung OpenGL ES 3. Saat ini, hanya Android O (API level 26) dan host Windows/Linux yang mendukung OpenGL ES 3.

    • Jika Anda mengalami masalah dengan OpenGL ES 3, tambahkan baris GLESDynamicVersion = off di ~/.android/advancedFeatures.ini.
  • Emulator sekarang menggunakan OpenGL FBOs di balik layar untuk semua rendering kecuali postingan image tampilan akhir, yang seharusnya membantu masalah konsistensi warna lintas platform.

  • Setelah mengumpulkan data tentang masalah pelambatan emulator tiba-tiba, kami berhasil menentukan bahwa masalahnya mungkin berkaitan dengan beberapa interaksi antara driver Intel OpenGL yang lebih lama dan update Windows. Dengan demikian, pengguna dengan Intel HD 4000, 3000, 2000 (dan GPU terkait) sekarang memiliki render yang disetel secara default untuk perender D3D (ANGLE) atau Swiftshader (perender software).

26.0.0 (Maret 2017)

Rilis ini kompatibel dengan API level 26. Rilis ini juga mencakup sejumlah peningkatan performa dan perbaikan bug.

Revisi kecil 26.0.3 (Mei 2017)

  • Menambahkan tombol fitur yang dapat diupdate secara online agar bisa cepat mengatasi masalah yang berasal dari konfigurasi hardware yang bermasalah. Hal ini memungkinkan Google untuk meluncurkan perbaikan dan fitur yang bergantung pada konfigurasi pengguna dengan memperbarui flag sisi server. Jika mengalami masalah dengan hardware tertentu, laporkan bug agar kami dapat menyelidiki masalahnya.
  • Dukungan baru untuk input dari alat rotasi untuk image sistem Android Wear API level 25. Untuk mengemulasikan tombol input dari alat rotasi pada perangkat Wear, klik tab Rotary Input pada jendela yang diperluas.
  • Dialog Crash Reporting sekarang dapat diubah ukurannya dan tidak lagi menyetel ulang When to send crash reports ke Ask tanpa input.
  • Emulator 32 bit sekarang mengharuskan ukuran RAM AVD maksimum kurang dari atau sama dengan 512 MB, sebagai upaya mencegah emulator kehabisan ruang pada ruang alamat virtual 2 GB.
  • Menambahkan dukungan untuk jalur absolut pada image emulator.
  • Menambahkan tab baru di jendela yang diperluas untuk image Google Play Store yang menampilkan versi Layanan Play dan tombol untuk memeriksa update pada Layanan Play.
  • Menambahkan menu dropdown untuk memilih perender OpenGL pada halaman Setelan Emulator. Jika mengalami masalah dengan driver OpenGL pada komputer Windows, coba gunakan opsi ANGLE (D3D11) atau ANGLE (D3D9) (perlu dimulai ulang). Jika mengalami masalah dengan driver OpenGL pada komputer non-Windows, coba gunakan perender software Swiftshader (perlu dimulai ulang).
  • Memperbaiki error yang jarang terjadi pada saat keluar ketika emulator menerima perintah exit dan minimize.
  • Memperbaiki masalah penskalaan saat mengubah tampilan pada komputer Mac. (Masalah 268296)
  • Memperbaiki masalah di mana emulator menggunakan 300% CPU dan menahannya setelah melanjutkan komputer host dari mode tidur atau saat emulator sudah berjalan lama.
  • Memperbaiki error saat emulator dinonaktifkan.

Update dengan HAXM v6.1.1 (Maret 2017)

Catatan: HAXM v6.1.1 tersedia untuk pengguna Mac melalui SDK Manager per 30 Maret, dan akan segera tersedia bagi pengguna Windows.

Android Emulator versi 26.0.0 mendukung HAXM v6.1.1, yang mencakup update berikut:

  • Mengaktifkan emulasi Unit Pemantauan Performa (PMU). (Masalah 223377)
  • Memperbaiki koeksistensi dengan VirtualBox dan Docker di Mac. (Masalah 197915)
  • Merevisi pesan error penginstalan yang muncul ketika penginstal gagal mendeteksi Intel VT-x di Windows, biasanya karena Hyper-V diaktifkan.
  • Menambahkan dukungan untuk mempercepat Android Emulator di VM Windows berbasis Hyper-V. Update ini mengharuskan instance Hyper-V host (yang mengelola VM/tamu Windows) menggunakan versi terbaru Hyper-V dengan status virtualisasi bertingkat aktif. Hyper-V harus dinonaktifkan pada instance Hyper-V tamu (VM Windows).

Dependensi

  • Revisi Android SDK Platform-Tools 25.0.4 atau yang lebih baru.
  • Revisi Android SDK Tools 26.0.0 atau yang lebih baru.

Beberapa fitur baru dan perbaikan bug

  • Kompatibel dengan API level 26.
  • Sepenuhnya mematuhi GLES 2.0. Mengingat GPU host memiliki driver OpenGL desktop yang sesuai, emulator sekarang melewati 100% dari daftar mustpass Android CTS dEQP-GLES2. Ini telah dirilis untuk image x86 API level 24 (revisi 11 dan yang lebih tinggi) dan akan segera dicantumkan untuk semua image sistem.
  • Peningkatan performa pemutaran video. Emulator kini menyimpan semua buffer warna video di dalam memori bersama host/tamu dan melakukan konversi akhir YUV ke RGB yang diperlukan dalam GPU. 1080p30 sekarang harus berada tepat dalam jangkauan sebagian besar sistem. Ini telah dirilis untuk image x86 API level 24 (revisi 11 dan yang lebih tinggi) dan akan segera dicantumkan untuk semua image sistem.
  • Emulator kini membatalkan pendaftarannya sendiri dengan benar dari daftar adb devices pada saat keluar dan menutup port TCP terbuka di komputer Linux.
  • Koneksi adb kini lebih andal. Emulator yang berjalan terdeteksi lebih cepat dan tidak lagi memasuki status “offline” atau “unauthorized”.

25.3.0 (Maret 2017)

Pada rilis ini, Android Emulator akan dirilis secara terpisah dari SDK Tools. Rilis ini berisi berbagai peningkatan performa, fitur baru, dan perbaikan bug.

Revisi minor 25.3.1 (Maret 2017)

  • Memperbaiki error yang terjadi pada beberapa konfigurasi GPU dengan menonaktifkan GLAsyncSwap secara default. Fitur ini telah ditambahkan pada rilis 25.3.0 untuk meningkatkan waktu render frame dan frame per detik untuk game dan video, tetapi menyebabkan emulator gagal pada beberapa konfigurasi mesin yang tidak dikenal. Anda dapat mengaktifkannya secara manual dengan membuka file android_sdk/emulator/lib/advancedFeatures.ini dan menetapkan GLAsyncSwap = on.

Dependensi

  • Revisi Android SDK Platform-Tools 24 atau yang lebih baru.
  • Revisi Android SDK Tools 25.3.0.

Beberapa fitur baru dan perbaikan bug

  • Memperbarui mesin emulasi ke QEMU 2.7, termasuk semua perbaikan bug terbaru, peningkatan performa, dan beberapa fitur baru.
  • Dukungan IPv6 baru.
  • Emulator sekarang menggunakan SwiftShader sebagai perender software murni pada host.
  • Peningkatan performa Android Pipe: Android Pipe, saluran komunikasi utama antara emulator dan Android OS, kini memiliki urutan yang lebih cepat, memiliki latensi yang lebih rendah, dan menawarkan performa multi-thread yang lebih optimal. Ini menyebabkan sejumlah peningkatan performa untuk emulator, termasuk:
    • Peningkatan kecepatan dorong/tarik ADB.
    • Dukungan akselerasi 3D yang lebih optimal.
    • Peningkatan responsivitas emulator secara keseluruhan.
    • Peningkatan performa grafis.
  • Emulator kini menggunakan buffer sisi GPU (glBindBuffers/glBufferData) jika tamu memintanya, yang mengurangi overhead CPU di beberapa aplikasi.
  • Peningkatan dukungan audio.
  • I/O disk lebih cepat: Emulator kini menggunakan thread terpisah untuk mengirimkan I/O disk, menghasilkan latensi lebih rendah dan throughput lebih optimal (kecepatan I/O berurutan ~1,5x, kecepatan I/O akses acak ~5x). Hal ini juga mengurangi jumlah flush ke disk, sehingga menghasilkan pemuatan perangkat fisik jauh lebih rendah.
  • Emulator kini menggunakan file sparse untuk boot disk pada komputer Windows, yang mempercepat booting pertama dan booting "wipe-data". Saat membuat atau mereset AVD, emulator akan menulis 100-200 MB data ke disk, bukan 2 GB atau lebih banyak.
  • Berbagai peningkatan GUI:
    • Emulator kini menggunakan Qt 5.7.0, yang mencakup perbaikan bug dan peningkatan performa.
    • Inisialisasi UI tidak lagi berupaya memuat semua executable emulator sebagai plugin Qt, sehingga menjadi jauh lebih singkat, terutama pada HDD.
    • Interaksi UI kini lebih cepat dan lebih lancar, termasuk rotasi, pengubahan ukuran jendela, dan pemuatan serta penutupan jendela kontrol yang diperpanjang.