aboutsummaryrefslogtreecommitdiff
path: root/en/devices/architecture/vintf/index.html
diff options
context:
space:
mode:
authorAndroid Partner Docs <noreply@android.com>2017-08-22 10:41:24 -0700
committerClay Murphy <claym@google.com>2017-08-22 15:01:44 -0700
commitf16c42333aa6b2de30a344dd68246d4a33d93e7d (patch)
tree311af599312cacb21c888aeae828cae59b0d64a1 /en/devices/architecture/vintf/index.html
parent04426e67ca3ee557a0083f9b3c6ba789021bd7a0 (diff)
downloadsource.android.com-f16c42333aa6b2de30a344dd68246d4a33d93e7d.tar.gz
Docs: Changes to source.android.com
- 166080694 Devsite localized content from translation request a3d5a7... by Android Partner Docs <noreply@android.com> - 166079245 Remove duplicate TOC entry to oob-users.html. by mheco <mheco@google.com> - 166002955 Update builds for Oreo by Android Partner Docs <noreply@android.com> - 165977566 Fixing bad conversion by hvm <hvm@google.com> - 165977199 Edit links to point to public source files in AOSP. by cqn <cqn@google.com> - 165962883 Add codename to CTS downloads page. by gdimino <gdimino@google.com> - 165955117 Integration of O branch into mainline. by gdimino <gdimino@google.com> - 165638251 Update July public Android security bulletin to remove QC... by Android Partner Docs <noreply@android.com> - 165638198 Update June public Android security bulletin to remove QC... by Android Partner Docs <noreply@android.com> - 165638174 Update May public Android security bulletin to remove QC ... by Android Partner Docs <noreply@android.com> - 165638096 Update April public Android security bulletin to remove Q... by Android Partner Docs <noreply@android.com> - 165528993 Update to Keymaster 2 and remove requirements language by daroberts <daroberts@google.com> - 165511119 Add Bluetooth verification / debug information by cqn <cqn@google.com> - 165491345 Fixed link broken by file rename. by cqn <cqn@google.com> - 165381648 Fixed broken image paths and renamed HCI Requirements file. by cqn <cqn@google.com> - 165365185 Created high-level Bluetooth directory and added HTML ver... by cqn <cqn@google.com> - 165335694 Devsite localized content from translation request 66a39c... by Android Partner Docs <noreply@android.com> - 165246927 Update August 2017 bulletin with CVE-2017-0687 by daroberts <daroberts@google.com> PiperOrigin-RevId: 166080694 Change-Id: I2d3a8d77fa6a66c2099f13ba2e864545328fd17a
Diffstat (limited to 'en/devices/architecture/vintf/index.html')
-rw-r--r--en/devices/architecture/vintf/index.html113
1 files changed, 113 insertions, 0 deletions
diff --git a/en/devices/architecture/vintf/index.html b/en/devices/architecture/vintf/index.html
new file mode 100644
index 00000000..b0517a32
--- /dev/null
+++ b/en/devices/architecture/vintf/index.html
@@ -0,0 +1,113 @@
+<html devsite>
+ <head>
+ <title>Vendor Interface Object</title>
+ <meta name="project_path" value="/_project.yaml" />
+ <meta name="book_path" value="/_book.yaml" />
+ </head>
+ <body>
+ <!--
+ Copyright 2017 The Android Open Source Project
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+ -->
+
+<p>This document describes the design of the <em>vendor interface object</em>
+(VINTF object), which aggregates relevant information about a device and makes
+that information available through a <em>queryable API</em>.</p>
+
+
+<h2 id=about-objects>VINTF object design</h2>
+<p>A VINTF object gathers some of the information it needs directly from the
+device. Other aspects, such as the manifests, are described statically in
+XML.</p>
+
+<img src="../images/treble_vintf_mm.png">
+<figcaption><strong>Figure 1.</strong> Manifests, compatibility matrices, and
+runtime-collectible information.</figcaption>
+
+<p>VINTF object design provides the following for device and framework
+components:</p>
+
+<table>
+<tr>
+<th style="width:50%">For the Device</th>
+<th>For the Framework</th>
+</tr>
+<tr>
+<td>
+<ul>
+<li>Defines a schema for the static component (the
+<a href="/devices/architecture/vintf/objects.html#device-manifest-file">device
+manifest file</a>).</li>
+<li>Adds build time support for defining the device manifest file for a given
+device.</li>
+<li>Defines the
+<a href="/devices/architecture/vintf/objects.html#queryable-api">queryable
+API</a> at runtime that retrieves the device manifest file (along with the other
+runtime-collectible information) and packages them into the query result.</li>
+</ul>
+</td>
+<td>
+<ul>
+<li>Defines a schema for the static component (the
+<a href="/devices/architecture/vintf/objects.html#framework-manifest-file">framework
+manifest file</a>).</li>
+<li>Defines the
+<a href="/devices/architecture/vintf/objects.html#queryable-api">queryable
+API</a> at runtime that retrieves the framework manifest file and packages it
+into the query result.</li>
+</ul>
+</td>
+</tr>
+</table>
+
+<p>The VINTF object must be reliable and provide the same complete information
+regardless of when the object is requested (see
+<a href="/devices/architecture/vintf/resources.html#caveats">Caveats</a>).</p>
+
+<h2 id=manifests-matrices>Manifests &amp; matrices</h2>
+<p>Android O requires an API at runtime to query what is on the device and send
+that information to the <a href="/devices/tech/ota/index.html">Over-the-Air
+(OTA)</a> update server and other interested parties (such as CTS
+<code>DeviceInfo</code>). Some information is retrieved at runtime and some of
+it is statically-defined.</p>
+
+<ul>
+<li>The <strong>device manifest</strong> describes the static component of what
+the device can provide to the the framework.</li>
+<li>The <strong>framework compatibility matrix</strong> describes what the
+Android framework expects from a given device. The matrix is a static entity
+whose composition is determined manually during development of the next release
+of the Android framework.</li>
+<li>The <strong>framework manifest</strong> describes high-level services the
+framework can provide to the device.</li>
+<li>The <strong>device compatibility matrix</strong> describes the services the
+vendor image requires of the framework. Its composition is determined manually
+during the development of the device.</li>
+</ul>
+
+<p>These two pairs of manifests and matrices must be reconciled at OTA time to
+ensure a device can get framework updates that are compatible with the device's
+capabilities. In general, a <em>manifest</em> describes what is provided and a
+<em>compatibility matrix</em> describes what is required.</p>
+
+<p><a href="/devices/architecture/vintf/objects.html">VINTF Object Data</a>
+defines the schema for the manifest,
+<a href="/devices/architecture/vintf/comp-matrices.html">Compatibility
+Matrices</a> defines the schema for the compatibility matrix, and
+<a href="/devices/architecture/vintf/match-rules.html">Matching Rules</a>
+defines the rules for a successful match between a compatibility matrix
+and a manifest.</p>
+
+ </body>
+</html>