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