| page.title=Android Core Technologies | |
| @jd:body | |
| <!-- | |
| Copyright 2015 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. | |
| --> | |
| <div id="qv-wrapper"> | |
| <div id="qv"> | |
| <h2>In this document</h2> | |
| <ol id="auto-toc"> | |
| </ol> | |
| </div> | |
| </div> | |
| <p>Welcome to the Android core technologies section of the site. Here you | |
| can find information on common features useful to people and organizations who | |
| are looking to modify, contribute to, or port the Android software. This is | |
| "under the hood" information intended for engineers.</p> | |
| <h2 id="accessory-protocol-information">Accessories</h2> | |
| <p>Android devices can connect to hardware accessories, such as audio docks, | |
| keyboards and custom hardware, through USB or Bluetooth. This section | |
| describes the Android Open Accessory protocol (AOAP) for accessory hardware | |
| builders.</p> | |
| <p><a href="{@docRoot}accessories/index.html">» Accessory Protocol | |
| Information</a></p> | |
| <h2 id="art-technical-information">ART</h2> | |
| <p>The Android runtime (ART) is the heart of Android. It's a fast, ahead-of-time | |
| compiled runtime with modern garbage collection designed to scale. | |
| Android applications are compiled to Dalvik bytecode and run with ART. This | |
| section includes detailed information such as the Dalvik Executable format | |
| specification, and design information on the runtime itself.</p> | |
| <p><a href="{@docRoot}devices/tech/dalvik/index.html">» ART and Dalvik | |
| Information</a></p> | |
| <h2 id="data-usage-technical-information">Data Usage</h2> | |
| <p>Android's data usage features allow users to understand and control how | |
| their device uses network data. This section is designed for systems | |
| integrators and mobile operators to help explain technical details they | |
| should be aware of when porting Android to specific devices.</p> | |
| <p><a href="{@docRoot}devices/tech/datausage/index.html">» Data Usage | |
| Information</a></p> | |
| <h2 id="debugging">Debugging and Tuning</h2> | |
| <p>Android is a large and complex system. This section includes tips and tricks | |
| for debugging at the platform level.</p> | |
| <p><a href="{@docRoot}devices/tech/debug/index.html">» Debugging | |
| Information</a></p> | |
| <h2 id="HAL-technical-information">HAL File Reference</h2> | |
| <p>Android's Hardware Abstraction Layer (HAL) provides the interface between | |
| software APIs and hardware drivers. This section contains the commented code | |
| files of the HAL.</p> | |
| <p><a href="{@docRoot}devices/halref/files.html">» HAL Reference</a></p> | |
| <h2 id="kernel-technical-information">Kernel</h2> | |
| <p>The kernel configuration settings in this section are meant to be used as | |
| a base for an Android kernel configuration. All devices should have the | |
| options in android-base configuration enabled.</p> | |
| <p><a href="{@docRoot}devices/tech/kernel.html">» Kernel Information</a> | |
| </p> | |
| <h2 id="lowram-technical-information">Low RAM</h2> | |
| <p>Android supports devices with limited memory through various optimizations | |
| such as improved memory management, reduced system memory, and several | |
| build-time and kernel configuration settings.</p> | |
| <p><a href="{@docRoot}devices/tech/low-ram.html">» Low RAM Information</a> | |
| </p> | |
| <h2 id="ota-technical-information">OTA Updates</h2> | |
| <p>Android devices in the field can receive and install over-the-air (OTA) | |
| updates to the system and application software. This section describes the | |
| structure of update packages and the tools to build them. It is intended for | |
| developers building OTA updates for new and released Android devices.</p> | |
| <p><a href="{@docRoot}devices/tech/ota/index.html">» OTA Information</a> | |
| </p> | |
| <h2 id="power-technical-information">Power</h2> | |
| <p>Battery usage statistics are tracked by the framework. This involves | |
| keeping track of time spent by different device components in different states. | |
| </p> | |
| <p><a href="{@docRoot}devices/tech/power.html">» Power Information</a> | |
| </p> | |
| <h2 id="security-technical-information">Security</h2> | |
| <p>Android security comes with a variety of measures, including an application | |
| sandbox, SELinux, dm-verity, encryption, and more.</p> | |
| <p><a href="{@docRoot}devices/tech/security/index.html">» Security | |
| Information</a></p> | |
| <h2 id="tradefed-test-infrastructure">Trade Federation Testing Infrastructure | |
| </h2> | |
| <p>Trade Federation is a continuous test framework for running tests on | |
| Android devices. Trade Federation's modularity makes it straightforward to | |
| slot into environments with existing build, test, and reporting | |
| infrastructures.</p> | |
| <p><a href="{@docRoot}devices/tech/test_infra/tradefed/index.html"> | |
| » Trade Federation Testing Infrastructure Overview</a></p> |