blob: 3eed8e90c24e5ead7296e52f8088ba20ee98bb3c [file] [log] [blame]
Clay Murphyf9d451e2014-10-21 18:11:12 -07001page.title=Android Core Technologies
Robert Ly35f2fda2013-01-29 16:27:05 -08002@jd:body
3
4<!--
Clay Murphy32285dd2014-03-12 12:15:00 -07005 Copyright 2014 The Android Open Source Project
Robert Ly35f2fda2013-01-29 16:27:05 -08006
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
Clay Murphyf9d451e2014-10-21 18:11:12 -070028<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 are
Robert Ly35f2fda2013-01-29 16:27:05 -080030looking to modify, contribute to, or port the Android software. This is "under
31the hood" information intended for engineers.</p>
32
Clay Murphyf9d451e2014-10-21 18:11:12 -070033<h2 id="accessory-protocol-information">Accessories</h2>
Clay Murphy16c5e2d2013-05-30 13:02:26 -070034<p>Android devices can connect to hardware accessories, such as audio docks,
35keyboards and custom hardware, through USB or Bluetooth. This document
36describes the Android Open Accessory protocol for accessory hardware builders.</p>
37<p><a href="{@docRoot}accessories/index.html">&raquo; Accessory Protocol Information</a></p>
38
Clay Murphyf9d451e2014-10-21 18:11:12 -070039<h2 id="art-technical-information">ART</h2>
Clay Murphye4edda62014-10-16 19:00:15 -070040<p>The Android runtime (ART) is the heart of Android. It's a fast, ahead-of-time
41compiled runtime with modern garbage collection designed to scale. Android applications are
42compiled to Dalvik bytecode and run with ART. This section includes
43detailed information such as the Dalvik Executable format specification,
44and design information on the runtime itself.</p>
Clay Murphyf9d451e2014-10-21 18:11:12 -070045<p><a href="{@docRoot}devices/tech/dalvik/index.html">&raquo; ART and Dalvik Information</a></p>
Robert Ly35f2fda2013-01-29 16:27:05 -080046
Clay Murphyf9d451e2014-10-21 18:11:12 -070047<h2 id="data-usage-technical-information">Data Usage</h2>
Robert Ly35f2fda2013-01-29 16:27:05 -080048<p>Android's data usage features allow users to understand and control how their
49device uses network data. This document is designed for systems integrators
50and mobile operators, to help explain technical details they should be aware
51of when porting Android to specific devices.</p>
Robert Ly35f2fda2013-01-29 16:27:05 -080052<p><a href="{@docRoot}devices/tech/datausage/index.html">&raquo; Data Usage Information</a></p>
Robert Ly35f2fda2013-01-29 16:27:05 -080053
Clay Murphy16c5e2d2013-05-30 13:02:26 -070054<h2 id="debugging">Debugging and Tuning</h2>
55<p>Android is a large and complex system. This section includes tips and tricks
56about debugging at the platform level.</p>
57<p><a href="{@docRoot}devices/debugtune.html">&raquo; Debugging Information</a></p>
58
Clay Murphy32285dd2014-03-12 12:15:00 -070059<h2 id="HAL-technical-information">HAL File Reference</h2>
60<p>Android's Hardware Abstraction Layer (HAL) provides the interface between
61software APIs and hardware drivers. This section contains the commented code
62files of the HAL.</p>
Clay Murphy28730d12014-03-24 18:05:16 -070063<p><a href="{@docRoot}devices/halref/files.html">&raquo; HAL Reference</a></p>
Clay Murphy16c5e2d2013-05-30 13:02:26 -070064
Clay Murphyf9d451e2014-10-21 18:11:12 -070065<h2 id="kernel-technical-information">Kernel</h2>
Clay Murphy16c5e2d2013-05-30 13:02:26 -070066<p>The kernel configuration settings in this document are meant to be used as a base
67for an Android kernel configuration. All devices should have the options in android-base
68configuration enabled.</p>
69<p><a href="{@docRoot}devices/tech/kernel.html">&raquo; Kernel Information</a></p>
70
Clay Murphyf9d451e2014-10-21 18:11:12 -070071<h2 id="lowram-technical-information">Low RAM</h2>
72<p>Android supports devices with limited memory through various optimizations,
73such as improved memory management, reduced system memory, and several
74build-time and kernel configuration settings.</p>
75<p><a href="{@docRoot}devices/low-ram.html">&raquo; Low RAM Information</a></p>
76
77<h2 id="power-technical-information">Power</h2>
Clay Murphy16c5e2d2013-05-30 13:02:26 -070078<p>Battery usage statistics are tracked by the framework. This involves keeping track of
79time spent by different device components in different states.</p>
80<p><a href="{@docRoot}devices/tech/power.html">&raquo; Power Information</a></p>
81
Clay Murphyf9d451e2014-10-21 18:11:12 -070082<h2 id="security-technical-information">Security</h2>
83<p>Android security comes with a variety of measures, including an application
84sandbox, SELinux, dm-verity, encryption, and more.</p>
85<p><a href="{@docRoot}devices/tech/security/index.html">&raquo; Security Information</a></p>
86
Clay Murphy16c5e2d2013-05-30 13:02:26 -070087<h2 id="tradefed-test-infrastructure">Trade Federation Testing Infrastructure</h2>
88<p>Trade Federation is a continuous test framework for running tests on Android devices.
89Trade Federation's modularity makes it straightforward to slot into environments with existing build,
90test, and reporting infrastructures.</p>
91<p><a href="{@docRoot}devices/tech/test_infra/tradefed/index.html">&raquo; Trade Federation Testing Infrastructure Overview</a></p>
92