A Taste of Android Oreo (v8.0) Device Manufacturer Keun Soo Yim, Iliyan Malchev, and Dave Burke Android Platform Engineering, Google, Inc. {yim,malchev,daveburke}@google.com

ABSTRACT

2

In 2017, over two billion Android devices developed by more than a thousand device manufacturers (DMs) around the world are actively in use. Historically, silicon vendors (SVs), DMs, and telecom carriers extended the Android Open Source Project (AOSP) platform source code and used the customized code in final production devices. Forking, on the other hand, makes it hard to accept upstream patches (e.g., security fixes). In order to reduce such software update costs, starting from Android v8.0, the new Vendor Test Suite (VTS) splits hardware-independent framework and hardware-dependent vendor implementation by using versioned, stable APIs (namely, vendor interface). Android v8.0 thus opens the possibility of a fast upgrade of the Android framework as long as the underlying vendor implementation passes VTS. This tutorial teaches how to develop, test, and certify a compatible Android vendor interface implementation running below the framework. We use an Android Virtual Device (AVD) emulating an Android smartphone device to implement a user-space device driver which uses formalized interfaces and RPCs, develop VTS tests for that component, execute the extended tests, and certify the extended vendor implementation.

(i) Android Vendor Interface and Android v8.0 on a Virtual Phone. (a) Concept: to understand Android Treble architecture specifically focusing on its HIDL (HAL1 Interface Definition Language) and HwBinder (i.e., analogous to existing Android IDL (AIDL) and Binder), common kernel interface, and vendor NDK (i.e., analogous to existing NDK (Native Development Kit)). (b) Codelab: based on a virtual smartphone emulator and locally built Android v8.0 platform images for that emulator2 , to create an AVD instance and interact with that using a graphical user interface and an adb shell terminal. (c) Discussion: to analyze the key benefits of Treble architecture and compare Treble with techniques used in other existing OSes (e.g., component-based design for C++). (ii) Device Implementation and Tuning. (a) Concept: to learn HIDL HAL coding guidelines by analyzing existing HIDL HAL designs and implementations. (b) Codelab: to modify an HIDL HAL and rebuild the AVD image in order to restart the AVD instance using that new image and interact with the modified HIDL HAL where a HAL modification task includes associated SELinux policy changes and performance profiling (using systrace). (c) Discussion: to evaluate the performance and power overheads of HIDLized HALs (vs. previous shared library HALs) on devices with multiple processor cores, visualize the priority inversion and inheritance issues when an HAL client uses Linux FIFO or RR scheduling priority, and analyze the death notification mechanism designed to handle when a HIDL server crashes and its fault tolerance implications. (iii) Test Development and Execution. (a) Concept: to understand Android VTS, CTS (Compatibility Test Suite), and the associated licensing processes; and to learn various other automated testing, performance profiling, and fuzzing techniques designed for Android OS. (b) Codelab: to implement a VTS structural test, a profiling test, and a fuzz test for an HAL, build a VTS package, and run a VTS test plan against the AVD instance in order to get a test report. (c) Discussion: to compare test-driven development practices between systems development and application development, to understand various approaches to coordinate developers who develop and extend VTS tests, to discuss how VTS can statistically guarantee the forward compatibility of a set of tested vendor interface APIs, and to brainstorm what methodologies are available for us to develop and assess VTS tests which provide such statistical guarantee.

1

GOAL

Android v8.0 (Oreo) has a modular operating system (OS) software architecture (namely, Treble[1]). It splits Android platform into hardware-independent framework and hardware-dependent vendor implementation layers by using a set of versioned, stable APIs which form the Vendor Interface. This new OS architecture helps entities in the Android device ecosystem respect separate ownerships of various software components in the Android platform and thus can deserialize Android device manufacturing chains. For example, it allows silicon vendors and device manufacturers to develop their portion of software in isolation and then integrate them as long as both layers are compatible with the targeted vendor interface APIs, which are tested and certified by our new Vendor Test Suite (VTS)[2]. This tutorial will give hands-on experience on extending a vendor interface implementation, developing VTS tests for that, and running various kinds of VTS tests against an Android virtual device (AVD) instance for training, rapid prototyping, continuous testing at early software development phase, vendor interface compatibility evaluation, and device fidelity assessment. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]. SOSP’17, October 2017, Shanghai, China © 2017 Copyright held by the owner/author(s). Publication rights licensed to Association for Computing Machinery. ACM ISBN 123-4567-24-567/08/06. . . $15.00 https://doi.org/10.475/123_4

ORGANIZATION

REFERENCES [1] AOSP. 2017. Treble. https://source.android.com/devices/architecture/treble. (21 August 2017). [2] AOSP. 2017. VTS. https://source.android.com/devices/tech/vts/. (21 August 2017). 1 Hardware

Abstraction Layer where a HAL module is conceptually similar to a userspace device driver which typically wraps the respective kernel space driver module. 2 Audience prerequisites: https://sites.google.com/site/keunsooyim/open-lecture/ sosp2017tutorial

A Taste of Android Oreo (v8.0) Device ... - Research at Google

user-space device driver which uses formalized interfaces and RPCs, ... Permission to make digital or hard copies of all or part of this work for personal or.

309KB Sizes 0 Downloads 243 Views

Recommend Documents

a hierarchical model for device placement - Research at Google
We introduce a hierarchical model for efficient placement of computational graphs onto hardware devices, especially in heterogeneous environments with a mixture of. CPUs, GPUs, and other computational devices. Our method learns to assign graph operat

Measuring Cross-Device Online Audiences - Research at Google
May 10, 2016 - The method performs demographic corrections in the usual way device-by-device. ... of online ad campaigns by audience attributes for one device (or cookie) type. ..... 0|c)=1 − e−κ0c/P . We call this cookie-to-user function the Di

“She'll just grab any device that's closer”: A ... - Research at Google
May 7, 2016 - including trust [3,8,10,16,21,27,30,31,34], culture [3,4,31], and utility [10 .... desktop or laptop computer at least once per month to par- ticipate.

A Matter of Taste - Ezra Keshet
predicates of personal taste are true or false, according to Lasersohn, but speak- ers uttering them do so from positions of epistemic privelege. Therefore any such statement is automatically true, as long as it is in accordance with the speaker's ex

Mathematics at - Research at Google
Index. 1. How Google started. 2. PageRank. 3. Gallery of Mathematics. 4. Questions ... http://www.google.es/intl/es/about/corporate/company/history.html. ○.

A Comparison of Visual and Textual Page ... - Research at Google
Apr 30, 2010 - thumbnails to support re-visitation, the participants must have seen the ... evidence supporting the usefulness of thumbnails as representations of ..... results? In Proc. SIGIR'02, 365-366. ... Human Computer. Interaction 2002) ...

A Systematic Comparison of Phrase Table ... - Research at Google
Jul 12, 2012 - These enormous data sets yield translation models that are .... French government out of shorter phrases has prob- ..... Moses: Open source.

A Case of Computational Thinking: The Subtle ... - Research at Google
1 University of Cambridge, Computer Laboratory, [email protected] ... The VCS should be an ideal example of where Computer Science can help the world.

Using a Cascade of Asymmetric Resonators ... - Research at Google
with more conventional sound-analysis approaches. We use a ... ear extensions of conventional digital filter stages, and runs fast due ... nonuniform distributed system. The stage ..... the design and parameter fitting of auditory filter models, and 

Jupiter Rising: A Decade of Clos Topologies ... - Research at Google
decentralized network routing and management protocols supporting arbitrary deployment scenarios were overkill .... Centralized control protocols: Control and management become substantially more complex with Clos ..... Switches know the candidate ma

A New ELF Linker - Research at Google
Building P from scratch using a compilation cluster us- ing the GNU ... Since every modern free software operating sys- tem uses the .... customized based on the endianness. The __ ... As mentioned above, the other advantage of C++ is easy.

A STAIRCASE TRANSFORM CODING ... - Research at Google
dB. DCT. Walsh−Hadamard. Haar. Fig. 1. Relative transform coding gains of staircase trans- ... pose a hybrid transform coding system where the staircase.

A Heterogeneous High Dimensional ... - Research at Google
Dimensional reduction converts the sparse heterogeneous problem into a lower dimensional full homogeneous problem. However we will ...... [6] C.Gennaro, P.Savino and P.Zezula Similarity Search in Metric Databases through Hashing Proc.

A computational perspective - Research at Google
can help a user to aesthetically design albums, slide shows, and other photo .... symptoms of the aesthetic—characteristics of symbol systems occurring in art. ...... Perhaps one of the most important steps in the life cycle of a research idea is i

tuiwxi Nba2k17 Vc Generator Android Device
Buy Cheap NBA 2k17 MT Points and VC Account(ps4,xbox one,pc) in ,All the NBA ... Nba2k17 Vc Generator Android Apps Live Free Game Generator Codes.

Catching a viral video - Research at Google
We also find that not all highly social videos become popular, and not all popular videos ... videos. Keywords Viral videos·Internet sharing·YouTube·Social media·. Ranking ... US Presidential Election, the Obama campaign posted almost 800 videos

A systematic comparison of phrase-based ... - Research at Google
with a phrase-based model as the foundation for .... During decoding, we allow application of all rules of .... as development set to train the model parameters λ.

Bayesian touch: a statistical criterion of target ... - Research at Google
than 10% of touch points falling off the target key on a ... [8] used a game published at the Android ... by device (e.g., 3D posture of the input finger [10, 11], or a.

A Comparative Evaluation of Finger and Pen ... - Research at Google
May 5, 2012 - use of the pen with a view to user convenience and simplic- ity. Such a ...... 360-367. 16. Morris, M.R., Huang, A., Paepcke, A. and Winoqrad, ...