Platform
Android Studio
Google Play
Jetpack
Docs
Blog
Download
What's New
User Guide
Preview
Home
Platform
Android Studio
Download
What's New
User Guide
Preview
Google Play
Docs
Blog
Download a Preview
Install Alongside Stable
New Features
Release Updates
Updates archive
►
2024
2024
(82)
►
November
November
(3)
►
October
October
(8)
►
September
September
(8)
►
August
August
(9)
►
July
July
(6)
►
June
June
(7)
►
May
May
(9)
►
April
April
(9)
►
March
March
(6)
►
February
February
(8)
►
January
January
(9)
►
2023
2023
(76)
►
December
December
(4)
►
November
November
(9)
►
October
October
(7)
►
September
September
(8)
►
August
August
(3)
►
July
July
(4)
►
June
June
(6)
►
May
May
(10)
►
April
April
(4)
►
March
March
(7)
►
February
February
(9)
►
January
January
(5)
►
2022
2022
(59)
►
December
December
(3)
►
November
November
(5)
►
October
October
(8)
►
September
September
(4)
►
August
August
(4)
►
July
July
(2)
►
June
June
(7)
►
May
May
(6)
►
April
April
(5)
►
March
March
(6)
►
February
February
(5)
►
January
January
(4)
►
2021
2021
(54)
►
December
December
(3)
►
November
November
(2)
►
October
October
(6)
►
September
September
(4)
►
August
August
(5)
►
July
July
(8)
►
June
June
(4)
►
May
May
(5)
►
April
April
(1)
►
March
March
(7)
►
February
February
(4)
►
January
January
(5)
►
2020
2020
(107)
►
December
December
(7)
►
November
November
(3)
►
October
October
(8)
►
September
September
(6)
►
August
August
(11)
►
July
July
(14)
►
June
June
(10)
►
May
May
(12)
►
April
April
(11)
►
March
March
(11)
►
February
February
(6)
►
January
January
(8)
▼
2019
2019
(145)
►
December
December
(16)
►
November
November
(12)
►
October
October
(10)
►
September
September
(13)
►
August
August
(12)
►
July
July
(6)
►
June
June
(9)
►
May
May
(18)
▼
April
April
(14)
Emulator 29.0.6 canary
ConstraintLayout 2.0.0 alpha 5
Emulator 29.0.5 Canary
Android Studio 3.5 Canary 13 available
Emulator 29.0.4 Canary
Emulator 29.0.3 Canary
Android Studio 3.5 Canary 12 available
Android Studio 3.4 available in the Stable channel
Android Studio 3.5 Canary 11 available
Emulator 29.0.2 Canary
Emulator 29.0.1 Canary
ConstraintLayout 2.0.0 alpha 4
Android Studio 3.5 Canary 10 available
Android Studio 3.4 Release Candidate 3 available
►
March
March
(12)
►
February
February
(10)
►
January
January
(13)
►
2018
2018
(128)
►
December
December
(13)
►
November
November
(12)
►
October
October
(10)
►
September
September
(10)
►
August
August
(16)
►
July
July
(10)
►
June
June
(13)
►
May
May
(9)
►
April
April
(11)
►
March
March
(12)
►
February
February
(9)
►
January
January
(3)
►
2017
2017
(48)
►
December
December
(3)
►
November
November
(2)
►
October
October
(8)
►
September
September
(3)
►
August
August
(4)
►
July
July
(3)
►
June
June
(3)
►
May
May
(4)
►
April
April
(5)
►
March
March
(5)
►
February
February
(6)
►
January
January
(2)
►
2016
2016
(5)
►
December
December
(3)
►
November
November
(2)
Subscribe to updates
Posts
Atom
Posts
Android Developers
Android Studio
Preview
Release Updates
Emulator 29.0.3 Canary
Friday, April 19, 2019
Emulator 29.0.3 is now available in the Canary and Dev channels. Changes:
Fixed keyboard input focus issue on xfce.
Issue 1
Issue 2
Foldable UI: Added console commands to fold/unfold foldable AVDs:
adb emu fold
adb emu unfold
AR Macro UI: Fixed displayed state in the UI when macro stops playing.
Removed message
qemu_ram_alloc_user_backed
on startup.
More logging added when OpenGL initialization fails.
Fixed several crashes and synchronization issues.
Linux emulator: gRPC service
We'd like to make the emulator as versatile as possible, allowing host GPU rendering and interactivity in the widest range of running contexts.
CI and remote desktop users have the following long-standing pain points:
Programmatically sending input commands to the emulator involves running adb shell commands which can be high overhead, or using the telnet console, which is faster, but may not work with certain network setups.
CI users often run emulators headless, which can make it difficult to notice issues that require the screen being visible or even interactive.
Remote desktop users often cannot run with host GPU rendering and also interact with the emulator as GPU rendering is often set up to be tied to the non-virtual displays.
To address this, we've added the capability for the Linux emulator to also serve a gRPC service.
gRPC
is a general framework for RPC that works over HTTP.
Note: This is still experimental stage and is meant to be used from the same machine the emulator is running on; please do not run the service truly remotely unless you know the security implications!
The emulator gRPC service is disabled by default but can be activated via the command line
-grpc <port>
where
<port>
is the port over which to serve gRPC requests, usually 5556.
Like with anything else that is starting a server, do not run the service if you do not have
<port>
secured from remote users!
Once the service is started, gRPC commands can then be issued from clients. The set of commands is captured in the protobuf
here
. The current set of commands allows both sending input events and receiving screenshots, addressing the pain points:
Input commands can be sent to the emulator with low overhead over HTTP which will work across more network setups.
Even if the emulator is running headless, screenshot gRPC requests can be sent to query the current screen. For interactivity, input events can also be sent back to the emulator.
Remote desktop users can then run the emulator headless on the main display with GPU accelerated rendering while using gRPC to get screenshots and send input events in order to interact with the emulator.
To get started, we also provide a few example clients
here
. There is:
A Go-based service that can be used to query emulator states.
A React app that demonstrates remote interactivity via screenshot and input RPCs.
Note: the React example requires that protobuf version 3.7.0+ be built and found on the system.
In the near term, we will work on a higher performance streaming solution to getting screenshots.