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="art-technical-information">ART and Dalvik</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">&raquo; ART and Dalvik
Information</a></p>

<h2 id="config">Configuration</h2>
<p>Getting the most out of Android requires tuning of the <a
href="{@docRoot}devices/tech/config/kernel.html">kernel</a>, <a
href="{@docRoot}devices/tech/config/renderer.html">OpenGLRenderer</a>, and
more. See the subpages of this section for details.
<p><a href="{@docRoot}devices/tech/config/index.html">&raquo; Configuration
Information</a></p>

<h2 id="connect">Connectivity</h2>
<p>This section covers Android support for NFC standards (such as Felica),
provides details on the Radio Interface Layer (RIL), describes call notification
behavior, and gives implementation instructions for user-facing features such as
Data Saver and phone number blocking.</p>
<p><a href="{@docRoot}devices/tech/connect/index.html">&raquo; Connectivity
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">&raquo; Data Usage
Information</a></p>

<h2 id="debugging">Debugging</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">&raquo; Debugging
Information</a></p>

<h2 id="admin-information">Device Administration</h2>
<p>Since Android 5.0, the platform supports use cases in a corporate
environment under the auspices of each company’s information technology (IT)
department.</p>
<p><a href="{@docRoot}devices/tech/admin/index.html">&raquo; Device
administration information</a></p>

<h2 id="display">Display Settings</h2>
<p>This section covers AOSP implementation of various Android display
settings, including app shortcuts, circular launcher icons, do not disturb
(DND), multi-window (split-screen, free-form, and picture-in-picture), high
dynamic range (HDR) video, night light, and retail demo mode.</p>
<p><a href="{@docRoot}devices/tech/display/index.html">&raquo; Display settings
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">&raquo; HAL Reference</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">&raquo; OTA Information</a>
</p>

<h2 id="power-technical-information">Power</h2>
<p>The framework provides battery usage statistics, keeping track of time spent
by different device components in different states. This section covers power
management features (such as Doze), gives instructions for accurately measuring
device and component power (and how to determine power values), and details the
<code>batterystats</code> command and output.</p>
<p><a href="{@docRoot}devices/tech/power/index.html">&raquo; Power
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">
&raquo; Trade Federation Testing Infrastructure Overview</a></p>
