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)
Revision 8 of Android 10 x86_64 Google Play / Goog...
Revision 8 of Android 10 x86 Google Play / Google ...
Emulator 29.2.2 Canary: Google Maps UI on Windows,...
Android P x86 System Images (Google Play, Google A...
Emulator 29.2.1 Stable
Emulator 29.2.1 Canary
Android Studio 3.6 Canary 12 available
Emulator 29.2.0 Stable
Emulator 29.2.0 Canary
Android Studio 3.6 Canary 11 available
Emulator 29.1.13 Canary
Android Studio 3.6 Canary 10 available
Emulator 29.1.12 Stable
►
August
August
(12)
►
July
July
(6)
►
June
June
(9)
►
May
May
(18)
►
April
April
(14)
►
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
Android P x86 System Images (Google Play, Google APIs) with ARM to x86 Translation - Canary
Thursday, September 26, 2019
Android P x86 system images (Google Play, Google APIs) with ARM to x86 binary translation are now available in the Canary channel, as rev 10 of Google APIs and rev 9 of Google Play.
x86 system images with translation versus ARM system images
Previously, Android app developers who needed to develop/test Android apps that used native ARM libraries could not use the x86-based emulator system images, and were forced to use system images with full ARM emulation, which are over 10x slower than the x86-based system images. Or, developers were forced to build or hunt down the x86 version in parallel. This is one of the top reasons app developers still resort to physical devices.
To address this, we've released P x86 system images that can also run apps with ARM native code. This leverages Google's ARM to x86 translation technology, which enables running native ARM apps at a much higher speed than with the actual ARM system images. App developers can then much more easily use the emulator to develop/test apps that are natively ARM or have native ARM dependencies.
Note that the ARM to x86 translation technology enables the execution of intellectual property owned by Arm Limited. It will only be available on Google APIs and Play Store system images, and can only be used for application development and debug on x86 desktop, laptop, customer on-premise servers, and customer-procured cloud-based environments.
Why is x86 system with ARM to x86 translation faster?
The x86-based system images are fast due to leveraging CPU virtualization technologies such as HAXM and KVM, while the ARM system images are much slower due to having to emulate the entire stack, especially any system code and anything related to the memory management unit (MMU), which made basic memory read/write instructions very, very slow.
On the other hand, with an x86 system along with Google's ARM to x86 translation technology, we avoid the much more expensive system and MMU emulation, while only translating user-level code. This is a big win, as it allows memory accesses to proceed at near the original speed as if it were on x86, with the overhead confined to the bits related to instruction translation itself (and thus only being significant for CPU-bound apps (most apps being memory bandwidth or I/O bound)).
Known issues
Setting breakpoints in an ARM native library running in the translation environment is not supported. This is because the code that actually ends up running will be x86 code that is hard to map to the original ARM code in LLDB.
Since this is a technology that is getting new exposure and use cases, some app functionality may not work as expected. Please let us know of any issues through
Issuetracker
.
ARM64 is not yet supported.
This replaces any existing Android P x86 Google APIs / Google Play system image installation.