blob: 10c42ab431355c5fbacaa776161170d988e68172 [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<!--
Heidi von Markham70ec4de2015-03-06 13:15:35 -08005 Copyright 2015 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
Heidi von Markham70ec4de2015-03-06 13:15:35 -080029can 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>
Robert Ly35f2fda2013-01-29 16:27:05 -080032
Clay Murphyf9d451e2014-10-21 18:11:12 -070033<h2 id="art-technical-information">ART</h2>
Clay Murphye4edda62014-10-16 19:00:15 -070034<p>The Android runtime (ART) is the heart of Android. It's a fast, ahead-of-time
Heidi von Markham70ec4de2015-03-06 13:15:35 -080035compiled runtime with modern garbage collection designed to scale.
36Android applications are compiled to Dalvik bytecode and run with ART. This
37section includes detailed information such as the Dalvik Executable format
38specification, and design information on the runtime itself.</p>
39<p><a href="{@docRoot}devices/tech/dalvik/index.html">&raquo; ART and Dalvik
40Information</a></p>
Robert Ly35f2fda2013-01-29 16:27:05 -080041
Clay Murphyf9d451e2014-10-21 18:11:12 -070042<h2 id="data-usage-technical-information">Data Usage</h2>
Heidi von Markham70ec4de2015-03-06 13:15:35 -080043<p>Android's data usage features allow users to understand and control how
44their device uses network data. This section is designed for systems
45integrators and mobile operators to help explain technical details they
46should be aware of when porting Android to specific devices.</p>
47<p><a href="{@docRoot}devices/tech/datausage/index.html">&raquo; Data Usage
48Information</a></p>
Robert Ly35f2fda2013-01-29 16:27:05 -080049
Clay Murphy16c5e2d2013-05-30 13:02:26 -070050<h2 id="debugging">Debugging and Tuning</h2>
51<p>Android is a large and complex system. This section includes tips and tricks
Heidi von Markham70ec4de2015-03-06 13:15:35 -080052for debugging at the platform level.</p>
53<p><a href="{@docRoot}devices/tech/debug/index.html">&raquo; Debugging
54Information</a></p>
Clay Murphy16c5e2d2013-05-30 13:02:26 -070055
Clay Murphy648990e2015-04-08 17:58:14 -070056<h2 id="admin-information">Device Administration</h2>
57<p>Since Android 5.0, the platform supports use cases in a corporate
58environment under the auspices of each companys information technology (IT)
59department.</p>
60<p><a href="{@docRoot}devices/tech/admin/index.html">&raquo; Device
61administration information</a></p>
62
Clay Murphy32285dd2014-03-12 12:15:00 -070063<h2 id="HAL-technical-information">HAL File Reference</h2>
64<p>Android's Hardware Abstraction Layer (HAL) provides the interface between
65software APIs and hardware drivers. This section contains the commented code
66files of the HAL.</p>
Clay Murphy28730d12014-03-24 18:05:16 -070067<p><a href="{@docRoot}devices/halref/files.html">&raquo; HAL Reference</a></p>
Clay Murphy16c5e2d2013-05-30 13:02:26 -070068
Clay Murphyf9d451e2014-10-21 18:11:12 -070069<h2 id="kernel-technical-information">Kernel</h2>
Heidi von Markham70ec4de2015-03-06 13:15:35 -080070<p>The kernel configuration settings in this section are meant to be used as
71a base for an Android kernel configuration. All devices should have the
72options in android-base configuration enabled.</p>
73<p><a href="{@docRoot}devices/tech/kernel.html">&raquo; Kernel Information</a>
74</p>
Clay Murphy16c5e2d2013-05-30 13:02:26 -070075
Clay Murphyf9d451e2014-10-21 18:11:12 -070076<h2 id="lowram-technical-information">Low RAM</h2>
Heidi von Markham70ec4de2015-03-06 13:15:35 -080077<p>Android supports devices with limited memory through various optimizations
Clay Murphyf9d451e2014-10-21 18:11:12 -070078such as improved memory management, reduced system memory, and several
79build-time and kernel configuration settings.</p>
Heidi von Markham70ec4de2015-03-06 13:15:35 -080080<p><a href="{@docRoot}devices/tech/low-ram.html">&raquo; Low RAM Information</a>
81</p>
82
83<h2 id="ota-technical-information">OTA Updates</h2>
84<p>Android devices in the field can receive and install over-the-air (OTA)
85updates to the system and application software. This section describes the
86structure of update packages and the tools to build them. It is intended for
87developers building OTA updates for new and released Android devices.</p>
88<p><a href="{@docRoot}devices/tech/ota/index.html">&raquo; OTA Information</a>
89</p>
Clay Murphyf9d451e2014-10-21 18:11:12 -070090
91<h2 id="power-technical-information">Power</h2>
Heidi von Markham70ec4de2015-03-06 13:15:35 -080092<p>Battery usage statistics are tracked by the framework. This involves
93keeping track of time spent by different device components in different states.
94</p>
95<p><a href="{@docRoot}devices/tech/power.html">&raquo; Power Information</a>
96</p>
Clay Murphy16c5e2d2013-05-30 13:02:26 -070097
Clay Murphyf9d451e2014-10-21 18:11:12 -070098<h2 id="security-technical-information">Security</h2>
99<p>Android security comes with a variety of measures, including an application
100sandbox, SELinux, dm-verity, encryption, and more.</p>
Heidi von Markham70ec4de2015-03-06 13:15:35 -0800101<p><a href="{@docRoot}devices/tech/security/index.html">&raquo; Security
102Information</a></p>
Clay Murphyf9d451e2014-10-21 18:11:12 -0700103
Heidi von Markham70ec4de2015-03-06 13:15:35 -0800104<h2 id="tradefed-test-infrastructure">Trade Federation Testing Infrastructure
105</h2>
106<p>Trade Federation is a continuous test framework for running tests on
107Android devices. Trade Federation's modularity makes it straightforward to
108slot into environments with existing build, test, and reporting
109infrastructures.</p>
110<p><a href="{@docRoot}devices/tech/test_infra/tradefed/index.html">
Clay Murphy648990e2015-04-08 17:58:14 -0700111&raquo; Trade Federation Testing Infrastructure Overview</a></p>