Clay Murphy | f9d451e | 2014-10-21 18:11:12 -0700 | [diff] [blame] | 1 | page.title=Android Core Technologies |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 2 | @jd:body |
| 3 | |
| 4 | <!-- |
Heidi von Markham | 70ec4de | 2015-03-06 13:15:35 -0800 | [diff] [blame] | 5 | Copyright 2015 The Android Open Source Project |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 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 | |
Clay Murphy | f9d451e | 2014-10-21 18:11:12 -0700 | [diff] [blame] | 28 | <p>Welcome to the Android core technologies section of the site. Here you |
Heidi von Markham | 70ec4de | 2015-03-06 13:15:35 -0800 | [diff] [blame] | 29 | can find information on common features useful to people and organizations who |
| 30 | are looking to modify, contribute to, or port the Android software. This is |
| 31 | "under the hood" information intended for engineers.</p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 32 | |
Clay Murphy | f9d451e | 2014-10-21 18:11:12 -0700 | [diff] [blame] | 33 | <h2 id="accessory-protocol-information">Accessories</h2> |
Clay Murphy | 16c5e2d | 2013-05-30 13:02:26 -0700 | [diff] [blame] | 34 | <p>Android devices can connect to hardware accessories, such as audio docks, |
Heidi von Markham | 70ec4de | 2015-03-06 13:15:35 -0800 | [diff] [blame] | 35 | keyboards and custom hardware, through USB or Bluetooth. This section |
| 36 | describes the Android Open Accessory protocol (AOAP) for accessory hardware |
| 37 | builders.</p> |
| 38 | <p><a href="{@docRoot}accessories/index.html">» Accessory Protocol |
| 39 | Information</a></p> |
Clay Murphy | 16c5e2d | 2013-05-30 13:02:26 -0700 | [diff] [blame] | 40 | |
Clay Murphy | f9d451e | 2014-10-21 18:11:12 -0700 | [diff] [blame] | 41 | <h2 id="art-technical-information">ART</h2> |
Clay Murphy | e4edda6 | 2014-10-16 19:00:15 -0700 | [diff] [blame] | 42 | <p>The Android runtime (ART) is the heart of Android. It's a fast, ahead-of-time |
Heidi von Markham | 70ec4de | 2015-03-06 13:15:35 -0800 | [diff] [blame] | 43 | compiled runtime with modern garbage collection designed to scale. |
| 44 | Android applications are compiled to Dalvik bytecode and run with ART. This |
| 45 | section includes detailed information such as the Dalvik Executable format |
| 46 | specification, and design information on the runtime itself.</p> |
| 47 | <p><a href="{@docRoot}devices/tech/dalvik/index.html">» ART and Dalvik |
| 48 | Information</a></p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 49 | |
Clay Murphy | f9d451e | 2014-10-21 18:11:12 -0700 | [diff] [blame] | 50 | <h2 id="data-usage-technical-information">Data Usage</h2> |
Heidi von Markham | 70ec4de | 2015-03-06 13:15:35 -0800 | [diff] [blame] | 51 | <p>Android's data usage features allow users to understand and control how |
| 52 | their device uses network data. This section is designed for systems |
| 53 | integrators and mobile operators to help explain technical details they |
| 54 | should be aware of when porting Android to specific devices.</p> |
| 55 | <p><a href="{@docRoot}devices/tech/datausage/index.html">» Data Usage |
| 56 | Information</a></p> |
Robert Ly | 35f2fda | 2013-01-29 16:27:05 -0800 | [diff] [blame] | 57 | |
Clay Murphy | 16c5e2d | 2013-05-30 13:02:26 -0700 | [diff] [blame] | 58 | <h2 id="debugging">Debugging and Tuning</h2> |
| 59 | <p>Android is a large and complex system. This section includes tips and tricks |
Heidi von Markham | 70ec4de | 2015-03-06 13:15:35 -0800 | [diff] [blame] | 60 | for debugging at the platform level.</p> |
| 61 | <p><a href="{@docRoot}devices/tech/debug/index.html">» Debugging |
| 62 | Information</a></p> |
Clay Murphy | 16c5e2d | 2013-05-30 13:02:26 -0700 | [diff] [blame] | 63 | |
Clay Murphy | 32285dd | 2014-03-12 12:15:00 -0700 | [diff] [blame] | 64 | <h2 id="HAL-technical-information">HAL File Reference</h2> |
| 65 | <p>Android's Hardware Abstraction Layer (HAL) provides the interface between |
| 66 | software APIs and hardware drivers. This section contains the commented code |
| 67 | files of the HAL.</p> |
Clay Murphy | 28730d1 | 2014-03-24 18:05:16 -0700 | [diff] [blame] | 68 | <p><a href="{@docRoot}devices/halref/files.html">» HAL Reference</a></p> |
Clay Murphy | 16c5e2d | 2013-05-30 13:02:26 -0700 | [diff] [blame] | 69 | |
Clay Murphy | f9d451e | 2014-10-21 18:11:12 -0700 | [diff] [blame] | 70 | <h2 id="kernel-technical-information">Kernel</h2> |
Heidi von Markham | 70ec4de | 2015-03-06 13:15:35 -0800 | [diff] [blame] | 71 | <p>The kernel configuration settings in this section are meant to be used as |
| 72 | a base for an Android kernel configuration. All devices should have the |
| 73 | options in android-base configuration enabled.</p> |
| 74 | <p><a href="{@docRoot}devices/tech/kernel.html">» Kernel Information</a> |
| 75 | </p> |
Clay Murphy | 16c5e2d | 2013-05-30 13:02:26 -0700 | [diff] [blame] | 76 | |
Clay Murphy | f9d451e | 2014-10-21 18:11:12 -0700 | [diff] [blame] | 77 | <h2 id="lowram-technical-information">Low RAM</h2> |
Heidi von Markham | 70ec4de | 2015-03-06 13:15:35 -0800 | [diff] [blame] | 78 | <p>Android supports devices with limited memory through various optimizations |
Clay Murphy | f9d451e | 2014-10-21 18:11:12 -0700 | [diff] [blame] | 79 | such as improved memory management, reduced system memory, and several |
| 80 | build-time and kernel configuration settings.</p> |
Heidi von Markham | 70ec4de | 2015-03-06 13:15:35 -0800 | [diff] [blame] | 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) |
| 86 | updates to the system and application software. This section describes the |
| 87 | structure of update packages and the tools to build them. It is intended for |
| 88 | developers 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> |
Clay Murphy | f9d451e | 2014-10-21 18:11:12 -0700 | [diff] [blame] | 91 | |
| 92 | <h2 id="power-technical-information">Power</h2> |
Heidi von Markham | 70ec4de | 2015-03-06 13:15:35 -0800 | [diff] [blame] | 93 | <p>Battery usage statistics are tracked by the framework. This involves |
| 94 | keeping 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> |
Clay Murphy | 16c5e2d | 2013-05-30 13:02:26 -0700 | [diff] [blame] | 98 | |
Clay Murphy | f9d451e | 2014-10-21 18:11:12 -0700 | [diff] [blame] | 99 | <h2 id="security-technical-information">Security</h2> |
| 100 | <p>Android security comes with a variety of measures, including an application |
| 101 | sandbox, SELinux, dm-verity, encryption, and more.</p> |
Heidi von Markham | 70ec4de | 2015-03-06 13:15:35 -0800 | [diff] [blame] | 102 | <p><a href="{@docRoot}devices/tech/security/index.html">» Security |
| 103 | Information</a></p> |
Clay Murphy | f9d451e | 2014-10-21 18:11:12 -0700 | [diff] [blame] | 104 | |
Heidi von Markham | 70ec4de | 2015-03-06 13:15:35 -0800 | [diff] [blame] | 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 |
| 108 | Android devices. Trade Federation's modularity makes it straightforward to |
| 109 | slot into environments with existing build, test, and reporting |
| 110 | infrastructures.</p> |
| 111 | <p><a href="{@docRoot}devices/tech/test_infra/tradefed/index.html"> |
| 112 | » Trade Federation Testing Infrastructure Overview</a></p> |