Home | History | Annotate | Download | only in devices
      1 <html devsite>
      2   <head>
      3     <title>Android Interfaces and Architecture</title>
      4     <meta name="project_path" value="/_project.yaml" />
      5     <meta name="book_path" value="/_book.yaml" />
      6   </head>
      7   <body>
      8   <!--
      9       Copyright 2017 The Android Open Source Project
     10 
     11       Licensed under the Apache License, Version 2.0 (the "License");
     12       you may not use this file except in compliance with the License.
     13       You may obtain a copy of the License at
     14 
     15           http://www.apache.org/licenses/LICENSE-2.0
     16 
     17       Unless required by applicable law or agreed to in writing, software
     18       distributed under the License is distributed on an "AS IS" BASIS,
     19       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     20       See the License for the specific language governing permissions and
     21       limitations under the License.
     22   -->
     23 
     24 <p>Android gives you the freedom to implement your own device specifications and
     25 drivers. The hardware abstraction layer (HAL) provides a standard method for
     26 creating software hooks between the Android platform stack and your hardware.
     27 The Android operating system is also open source, so you can contribute your own
     28 interfaces and enhancements.</p>
     29 
     30 <p>Before porting Android to your hardware, take a moment to understand the
     31 <a href="/devices/architecture/index.html">Android system architecture</a>.
     32 Because your drivers and the HAL interact with Android, knowing its structure
     33 can help you navigate the many layers of code in the Android Open Source Project
     34 (AOSP) source tree. When you are comfortable with the basic Android
     35 architecture, review the interface-specific documentation in this section to
     36 learn about specific HALs and how to build them for your device.</p>
     37 
     38 <p>To maintain a high level of quality and offer a consistent user experience,
     39 Android requires that all implementations meet the requirements stated in the
     40 <a href="/compatibility/cdd.html">Compatibility Definition Document (CDD)</a>
     41 and that all devices pass tests in the
     42 <a href="/compatibility/cts.html">Compatibility Test Suite (CTS)</a>. For
     43 details on the Android compatibility program, see
     44 <a href="/compatibility/index.html">Compatibility</a>.</p>
     45 
     46   </body>
     47 </html>
     48