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 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 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}devices/audio/latency_app.html#videos">
        <h4>Videos and Other Resources for Audio Implementation</h4></a>
        <p>The Audio team offers video on <strong><a
        href="https://youtu.be/PnDK17zP9BI">buffer sizes and their relationship
        to audio latency</a></strong>, as well as <strong><a
        href="{@docRoot}devices/audio/latency_app.html#videos">other videos on
        improving audio performance</a></strong> and related clarifications to text
        throughout the <strong><a href="{@docRoot}devices/audio/index.html">Audio
        section</a></strong>.</p>

<a href="{@docRoot}compatibility/downloads.html">
        <h4>CTS 5.1 R2</h4></a>
        <p>Packages for the 5.1 R2 version of the Android Compatibility Test
        Suite (CTS) are available for <strong><a
        href="{@docRoot}compatibility/downloads.html#android-51">download</a></strong>.</p>

<a href="{@docRoot}devices/tech/security/selinux/customize.html">
        <h4>SELinux neverallow Rules</h4></a>
        <p>New guidance has been offered on the use of Security-Enhanced Linux (SELinux) <strong><a
        href="{@docRoot}devices/tech/security/selinux/customize.html#neverallow"><code>neverallow</code>
        rules</a></strong>, which prohibit behavior that should never occur.</p>

<a href="{@docRoot}source/build-numbers.html">
        <h4>Build Numbers for Nexus 6 and 7</h4></a>
        <p>Build numbers <strong><a
        href="{@docRoot}source/build-numbers.html#source-code-tags-and-builds">LYZ28E and
        LMY48G</a></strong> have been added for Nexus 6 (T-Mobile ONLY) and Nexus 7 (flo),
        respectively.</p>

<a href="{@docRoot}devices/tech/security/overview/updates-resources.html">
        <h4>Security Updates and Resources</h4></a>
        <p><strong><a href="{@docRoot}devices/tech/security/overview/updates-resources.html">Security
        Updates and Resources</a></strong> has been rewritten entirely to describe the
        processes for <strong><a
        href="{@docRoot}devices/tech/security/overview/updates-resources.html#report-issues">reporting
        security issues</a></strong>, <strong><a
        href="{@docRoot}devices/tech/security/overview/updates-resources.html#triaging_bugs">triaging
        bugs</a></strong>,
        <strong><a
        href="{@docRoot}devices/tech/security/overview/updates-resources.html#notifying_partners">notifying
        partners</a></strong>, and much more.</p>

<a href="{@docRoot}devices/tech/ota/sign_builds.html">
        <h4>Sign OTA Packages and Release Keys</h4></a>
        <p>Signing Builds for Release now contains sections on <strong><a
        href="{@docRoot}devices/tech/ota/sign_builds.html#release-keys">Release
        Keys</a></strong> and <strong><a
        href="{@docRoot}devices/tech/ota/sign_builds.html#sign-ota-packages">Signing OTA
        packages</a></strong> that provide easy recipes for signing flashable
        images and over-the-air (OTA) updates.</p>

<a href="{@docRoot}compatibility/android-cdd.pdf">
        <h4>5.1 Compatibility Definition Document</h4></a>
        <p>The Android <strong><a
        href="{@docRoot}compatibility/android-cdd.pdf">5.1 Compatibility Definition
        Document (CDD)</a></strong> has been published to reflect the
        requirements of the latest version of Android.</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}accessories/index.html">
        <h4>Build Accessories</h4></a>
        <p>Sometimes, a device can't do it all. Tap into Android's open accessory standard and build accessories to complement the wide variety of Android-powered devices.</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>Please note, 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>
