fullpage=true
no_footer_links=true
landing.page=true
page.metaDescription=The official site for the Android Open Source Project.
header.hide=1
@jd:body

<!--
    Copyright 2016 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 class="wrap">

  <div class="landing-banner">
      <h1 itemprop="name" style="margin-bottom:0;">Welcome to the Android Open Source Project!</h1>

<p>
Android is an open source software stack for a wide range of mobile devices and
a corresponding open source project led by Google. This site offers the
information and source code you need to create custom variants of the Android
stack, port devices and accessories to the Android platform, and ensure your
devices meet compatibility requirements.
</p>
  </div>

</div>

<div class="wrap">

  <div class="landing-docs">
    <div class="col-8">
    <h3>What's New</h3>
<a href="{@docRoot}security/bulletin/index.html">
        <h4>March Nexus Security Bulletin</h4></a>
        <p>The <strong><a
        href="{@docRoot}security/bulletin/2016-03-01.html">March 2016 Nexus Security
	Bulletin</a></strong> has been published. The bulletin describes
        numerous vulnerabilities that have been fixed in the Android Open Source
        Project (AOSP). In addition, new <strong><a
        href="{@docRoot}source/build-numbers.html#source-code-tags-and-builds">Build
        Numbers</a></strong> are available corresponding to this security release.</p>

<a href="{@docRoot}compatibility/downloads.html">
        <h4>Android CTS 6.0 R4</h4></a>
        <p>Version 6.0 R4 of the Android Compatibility Test Suite (CTS) is now
        available for <strong><a
        href="{@docRoot}compatibility/downloads.html#android-60">download</a></strong>.
        In addition, the recommendation to use the <code>--skip-preconditions</code>
        option has been published to <strong><a
        href="{@docRoot}compatibility/cts/run.html">Running CTS Tests</a></strong>.</p>

<a href="{@docRoot}source/devices.html#running-android-hikey">
        <h4>HiKey Reference Board</h4></a>
        <p>AOSP now provides kernel source and board support for the HiKey Android
        reference board, a certified 96Board available in 1GB RAM and 2GB RAM
        configurations. For details on running Android on HiKey, see <strong><a
        href="{@docRoot}source/devices.html#running-android-hikey">HiKey
        Boards</a>.</strong></p>

<a href="{@docRoot}devices/tech/ota/device_code.html">
        <h4>FPS Value Customization</h4></a>
        <p>Android allows for a vendor-specific installing image but previously
        defined a private <code>animation_fps</code> variable that could not be overridden. The
        variable was changed from private to protected (so it can be customized), and
        the image generator can now optionally embed the FPS value (default is 20 FPS)
        into the generated image. See <strong><a
        href="{@docRoot}devices/tech/ota/device_code.html">OTA Device-Specific
        Code</a>.</strong></p>

<a href="{@docRoot}source/building-kernels.html">
        <h4>User Feedback Implemented</h4></a>
        <p>Input from the <strong>Site Feedback</strong> button has
        prompted the following fixes: new devices on <strong><a
        href="{@docRoot}source/building-kernels.html">Building Kernels</a></strong>,
        the significant motion sensor being identified as a wake-up sensor on
        <strong><a href="{@docRoot}devices/sensors/sensor-types.html">Sensor
        Types</a></strong>, a new path for example download in <strong><a
        href="{@docRoot}source/using-repo.html">Repo command reference</a></strong>, the correct
        formula for determining actual resistance on <strong><a
        href="{@docRoot}devices/accessories/headset/specification.html">Wired Audio Headset
        Specification</a></strong>, and a description of timestamp format on <strong><a
        href="{@docRoot}devices/input/getevent.html">Getevent</a></strong>.</p>
    </div>

    <div class="col-8">
      <h3>Getting Started</h3>
      <a href="{@docRoot}source/index.html">
        <h4>Explore the Source</h4></a>
        <p>Get the complete Android platform and modify and build it to suit your needs. You can
        also <strong><a
        href="https://android-review.googlesource.com/#/q/status:open">contribute
        to</a></strong> the <strong><a
        href="https://android.googlesource.com/">Android Open Source Project (AOSP)
        repository</a></strong> to make your changes available to everyone else
        in the Android ecosystem.</p>
<a href="{@docRoot}source/index.html"><img border="0" src="images/android_framework_small.png" alt="Android framework summary" style="display:inline;float:right;margin:5px 10px;width:42%;height:42%"></a>
      <a href="{@docRoot}devices/index.html">
        <h4>Port Android to Devices</h4></a>
        <p>Port the latest Android platform and
        create compelling devices that your customers want.</p>

      <a href="{@docRoot}security/index.html">
        <h4>Make Secure</h4></a>
	<p>Follow these examples and instructions to harden your Android
          devices against malicious attacks. Find out how the Android security program
          works and learn to implement the latest features.</p>

      <a href="{@docRoot}compatibility/index.html">
        <h4>Get Compatible</h4></a>
        <p>Being Android-compatible lets you offer custom features but still give users and developers a consistent
          and standard experience across all Android-powered devices. Android provides guidance
          and a test suite to verify your Android compatibility.</p>

      <a href="https://android.googlesource.com/platform/docs/source.android.com/">
        <h4>Help this Site</h4></a>
        <p>Use the <strong>Site Feedback</strong> button at the bottom of any
        page to request improvements to the content or identify errors. In addition,
        source.android.com is maintained in the Android Open Source Project. See the
        <strong><a
        href="https://android.googlesource.com/platform/docs/source.android.com/+log/master">docs/source.android.com
        project log in AOSP</a></strong> for the complete list of changes to this site.
        Contribute your own updates to that same project and help maintain source.android.com.</p>
    </div>

  </div>

</div>
