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 ketersediaan update pada SDK Manager.

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

Untuk mengetahui detail perbaikan bug pada setiap rilis, lihat blog update rilis Android Studio.

30.0.0 (19 Februari 2020)

Update ini mencakup image sistem Android 11 (API level 30) dan performa yang disempurnakan 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. Pertimbangkan membuat 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, sedangkan 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 QEMU1 yang dapat dijalankan (emulator[64]-[x86|arm|etc]) ditempatkan di direktori emulator.
  • Windows: Memperbaiki masalah yang terkadang menyebabkan emulator gagal memulai dengan pesan "permintaan penghentian vCPU".
  • 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 me-reboot 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 Otomotif 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, 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: Peningkatan Project Marble.

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 masukan 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 penyempurnaan 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-booting

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 dengan ekstensi, 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, 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 kata cepat 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 masukan 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 QEMU 2.12 yang sesuai 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 yang terkait dengan menjalankan emulator di lingkungan lokal 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 di mana 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 mengalami error keluar dan keluar di KVM dengan error hardware generik. Jika hal tersebut terjadi, emulator akan melakukan abort() sebagai upaya meningkatkan debuggability (sebelumnya, emulator baru saja hang).
  • 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 SO_REUSEADDR digunakan secara tidak benar. Untuk informasi selengkapnya, lihat detail commit.
  • Memperbaiki masalah yang telah lama ada pada emulator Windows di mana 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 di mana 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 tombol putar 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 menyetel ulang semua sensor perangkat ke status default-nya.

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 flag 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 membuat target sdk_phone_x86 atau sdk_phone_x86_64 (varian userdebug, eng) pada cabang master AOSP sekarang dapat menjalankan emulator yang diaktifkan Vulkan.

Dukungan ini masih bersifat eksperimental dan terutama bagi developer yang mengerjakan image sistem, driver, dan mesin game. Banyak ekstensi yang masih belum ada. Namun, sudah didukung memori HOST_COHERENT, 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 menetapkan 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 masukan ke emulator yang melibatkan baik menjalankan perintah shell adb yang dapat mengalami overhead tinggi, maupun menggunakan 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 masukan dan menerima screenshot. Perintah ini membantu mengatasi masalah berikut:

  • Perintah masukan dapat dikirim ke emulator dengan overhead rendah melalui HTTP. HTTP juga memungkinkan perintah untuk dikirim pada konfigurasi jaringan tambahan.
  • Perintah screenshot dapat dikirim ke kueri layar saat ini, bahkan jika emulator berjalan secara headless. Untuk interaktivitas, peristiwa masukan 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 masukan 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 dapat digunakan untuk mengirim kueri status emulator.
  • Aplikasi React yang menunjukkan interaktivitas jarak jauh melalui RPC masukan dan screenshot. Sampel ini memerlukan protobuf versi 3.7.7 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 perkenalkan varian peluncur emulator dengan QEMU yang dapat dijalankan 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:

Masukan audio host dinonaktifkan secara default

Postingan terbaru di Reddit memberi detail bagaimana OS Android 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 kata cepat dinonaktifkan juga 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 temukan 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 kata cepat

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

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, di mana pada beberapa setelan, emulator Mac akan melakukan reboot atau kernel akan panik 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 sumber daya

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 peningkatan penggunaan memori untuk driver grafis sisi tamu.

Selain itu, kami juga meningkatkan 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, buat 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.

Jalankan 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 tanda -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 masalah pada 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 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 fungsi UI Snapshot 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.
  • Menjadikan ikon notifikasi Quick Boot lebih mudah diakses oleh pengguna buta warna.

Grafis

  • 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 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 serentak 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 daripada (-gpu swiftshader_indirect).
  • Jika emulator diluncurkan dari command line menggunakan flag -no-window, perender defaultnya sekarang adalah Swiftshader.

Lokasi

  • Emulator kini dapat mengupdate 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 diupdate 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 pada kebocoran memori, kerusakan memori, dan penggunaan CPU. Jika Anda mengalami error, kebocoran memori, atau penggunaan resource yang tinggi lainnya, buat masalah di Issue Tracker.
  • Memperbaiki masalah yang muncul kembali pada macOS 10.14, di mana menggunakan 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 timer pada macOS yang menjadi tidak dapat diandalkan, yang menghasilkan hang dan perilaku aneh lainnya. Jika mengalami emulator hang pada macOS, buat 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 dari /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, buat 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 membersihkan direktori ~/.android/avd dan menjalankan perintah berikut pada direktori ~/.android/avd yang kosong:
        chattr +C
        
    Tindakan ini membuat snapshot baru di folder tempat salin-saat-menulis dinonaktifkan.

HAXM 7.3.2

Kami ingin singgung HAXM 7.3.2 lagi karena 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 masa pakai untuk versi Android Emulator 32 bit. Namun, kami akan aktif mencari masukan atau perhatian terkait perubahan mendatang.

Beri tahu kami di Issue Tracker jika saat ini Anda mengandalkan versi Android Emulator 32 bit yang berjalan di Windows dan beri tahu 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 identifikasi 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 tinggi ke level default Android Studio 1536 MB. Jika file config.ini AVD Anda tidak mencantumkan hw.ramSize dalam megabyte, buat 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.

Cuplikan

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 booting cepat 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 menyimpannya 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 adegan 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 guna 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 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 frekuensi gambar 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 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 putar 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.
  • Mengubah ukuran kotak emulator tanpa frame telah diupdate agar lebih optimal 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.
  • 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 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. (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 detail, lihat Jalankan 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 melihat pesan berikut bahkan jika tidak ada hang yang sebenarnya: "emulator: ERROR: mendeteksi thread yang mengalami hang 'loop peristiwa Qt'. Tidak ada respons selama 15.000 md".

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. Untuk menampilkannya, aktifkan Tampilkan bingkai jendela di perangkat pada panel Setelan di jendela Extended Controls.

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

    • Anda dapat menyimpan snapshot AVD kapan saja menggunakan tombol Save Now di panel Setelan 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 Aktifkan berbagi papan klip dinonaktifkan dan 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 di mana Shift + B tidak mengetikkan karakter 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 memulai AVD untuk pertama kalinya, AVD harus menjalankan cold booting (seperti mengaktifkan perangkat), semua awalan mulai AVD berikutnya cepat dan sistem dikembalikan ke status saat Anda menutup emulator (mirip dengan mengaktifkan perangkat).

    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 bootbooting cepat 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 lagi digunakan. 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 diperlukan 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 mesin 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.
    • 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 dialihkan untuk menggunakan ANGLE secara otomatis.
    • 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.
    • Setelan "Level OpenGL ES API (memerlukan mulai ulang)" yang diklarifikasi; menambahkan opsi untuk mendowngrade dari OpenGL ES 3 ke OpenGL ES 2 jika mengalami masalah atau perlu diuji pada OpenGL ES API 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 buffer berdasarkan AVFoundation.
  • Menambahkan dukungan untuk Wi-Fi di beberapa image sistem (saat ini hanya API level 25). Titik akses (AP) bernama "AndroidWifi" tersedia dan Android otomatis akan terhubung ke sana. Dukungan Wi-Fi dapat dinonaktifkan dengan menjalankan emulator menggunakan parameter command line -feature -Wifi.
  • Beberapa pengguna timbul kekhawatiran 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 di mana CPU lama yang menggunakan Intel x86 EPT tetapi tanpa UG, emulator akan gagal mem-booting jika lebih dari satu core dikonfigurasi
  • Memperbaiki masalah di mana 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 Bantuan 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 perlu image sistem dengan dukungan giroskop agar dapat berfungsi (API level saat ini 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 tanda 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. Dan juga mencakup sejumlah peningkatan performa dan perbaikan bug.

Revisi kecil 26.0.3 (Mei 2017)

  • Menambahkan tanda fitur yang dapat diupdate secara online untuk 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 tanda sistem server. Jika mengalami masalah dengan hardware tertentu, laporkan bug agar kami dapat menyelidiki masalahnya.
  • Dukungan baru untuk masukan dari alat rotasi untuk image sistem Android Wear API level 25. Untuk mengemulasikan tombol masukan dari alat rotasi pada perangkat Wear, klik tab Rotary Input pada jendela yang diperluas.
  • Dialog Laporan Kerusakan sekarang dapat diubah ukurannya dan tidak lagi menyetel ulang Waktu mengirim laporan kerusakan ke Tanya tanpa masukan.
  • 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 drop-down 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 memakan 300% CPU dan menahannya setelah melanjutkan komputer host dari 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 mulai 30 Maret, dan akan segera tersedia bagi pengguna Windows.

Versi 26.0.0 dari Android Emulator 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 installer gagal mendeteksi Intel VT-x pada 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 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 “tidak sah”.

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 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 kemudian 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 menyetel ulang AVD, emulator akan menulis 100-200 MB data ke disk, bukan 2 GB atau lebih banyak.
  • Berbagai penyempurnaan 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.