1page.title=Android Core Technologies 2@jd:body 3 4<!-- 5 Copyright 2015 The Android Open Source Project 6 7 Licensed under the Apache License, Version 2.0 (the "License"); 8 you may not use this file except in compliance with the License. 9 You may obtain a copy of the License at 10 11 http://www.apache.org/licenses/LICENSE-2.0 12 13 Unless required by applicable law or agreed to in writing, software 14 distributed under the License is distributed on an "AS IS" BASIS, 15 WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 See the License for the specific language governing permissions and 17 limitations under the License. 18--> 19<div id="qv-wrapper"> 20 <div id="qv"> 21 <h2>In this document</h2> 22 <ol id="auto-toc"> 23 </ol> 24 </div> 25</div> 26 27 28<p>Welcome to the Android core technologies section of the site. Here you 29can find information on common features useful to people and organizations who 30are looking to modify, contribute to, or port the Android software. This is 31"under the hood" information intended for engineers.</p> 32 33<h2 id="accessory-protocol-information">Accessories</h2> 34<p>Android devices can connect to hardware accessories, such as audio docks, 35keyboards and custom hardware, through USB or Bluetooth. This section 36describes the Android Open Accessory protocol (AOAP) for accessory hardware 37builders.</p> 38<p><a href="{@docRoot}accessories/index.html">» Accessory Protocol 39Information</a></p> 40 41<h2 id="art-technical-information">ART</h2> 42<p>The Android runtime (ART) is the heart of Android. It's a fast, ahead-of-time 43compiled runtime with modern garbage collection designed to scale. 44Android applications are compiled to Dalvik bytecode and run with ART. This 45section includes detailed information such as the Dalvik Executable format 46specification, and design information on the runtime itself.</p> 47<p><a href="{@docRoot}devices/tech/dalvik/index.html">» ART and Dalvik 48Information</a></p> 49 50<h2 id="data-usage-technical-information">Data Usage</h2> 51<p>Android's data usage features allow users to understand and control how 52their device uses network data. This section is designed for systems 53integrators and mobile operators to help explain technical details they 54should be aware of when porting Android to specific devices.</p> 55<p><a href="{@docRoot}devices/tech/datausage/index.html">» Data Usage 56Information</a></p> 57 58<h2 id="debugging">Debugging and Tuning</h2> 59<p>Android is a large and complex system. This section includes tips and tricks 60for debugging at the platform level.</p> 61<p><a href="{@docRoot}devices/tech/debug/index.html">» Debugging 62Information</a></p> 63 64<h2 id="HAL-technical-information">HAL File Reference</h2> 65<p>Android's Hardware Abstraction Layer (HAL) provides the interface between 66software APIs and hardware drivers. This section contains the commented code 67files of the HAL.</p> 68<p><a href="{@docRoot}devices/halref/files.html">» HAL Reference</a></p> 69 70<h2 id="kernel-technical-information">Kernel</h2> 71<p>The kernel configuration settings in this section are meant to be used as 72a base for an Android kernel configuration. All devices should have the 73options in android-base configuration enabled.</p> 74<p><a href="{@docRoot}devices/tech/kernel.html">» Kernel Information</a> 75</p> 76 77<h2 id="lowram-technical-information">Low RAM</h2> 78<p>Android supports devices with limited memory through various optimizations 79such as improved memory management, reduced system memory, and several 80build-time and kernel configuration settings.</p> 81<p><a href="{@docRoot}devices/tech/low-ram.html">» Low RAM Information</a> 82</p> 83 84<h2 id="ota-technical-information">OTA Updates</h2> 85<p>Android devices in the field can receive and install over-the-air (OTA) 86updates to the system and application software. This section describes the 87structure of update packages and the tools to build them. It is intended for 88developers building OTA updates for new and released Android devices.</p> 89<p><a href="{@docRoot}devices/tech/ota/index.html">» OTA Information</a> 90</p> 91 92<h2 id="power-technical-information">Power</h2> 93<p>Battery usage statistics are tracked by the framework. This involves 94keeping track of time spent by different device components in different states. 95</p> 96<p><a href="{@docRoot}devices/tech/power.html">» Power Information</a> 97</p> 98 99<h2 id="security-technical-information">Security</h2> 100<p>Android security comes with a variety of measures, including an application 101sandbox, SELinux, dm-verity, encryption, and more.</p> 102<p><a href="{@docRoot}devices/tech/security/index.html">» Security 103Information</a></p> 104 105<h2 id="tradefed-test-infrastructure">Trade Federation Testing Infrastructure 106</h2> 107<p>Trade Federation is a continuous test framework for running tests on 108Android devices. Trade Federation's modularity makes it straightforward to 109slot into environments with existing build, test, and reporting 110infrastructures.</p> 111<p><a href="{@docRoot}devices/tech/test_infra/tradefed/index.html"> 112» Trade Federation Testing Infrastructure Overview</a></p>