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/2016-07-01.html">
        <h4>July Android Security Bulletin</h4></a>
        <p>The <strong><a
        href="{@docRoot}security/bulletin/2016-07-01.html">July 2016 Android Security
        Bulletin</a></strong> has been published along with links to associated fixes.
        In addition, new <strong><a
        href="{@docRoot}source/build-numbers.html#source-code-tags-and-builds">build
        numbers</a></strong> have been published for Nexus 5, Nexus 6, Nexus 7,
        Nexus 9, Nexus 5X, Nexus 6P, and Nexus Player running Android 6.0 to
        support the July Android security release.</p>

<a href="{@docRoot}devices/tech/config/connect_tests.html">
        <h4>Network Connectivity Tests</h4></a>
        <p>The <strong><a
        href="{@docRoot}devices/tech/config/connect_tests.html">Android
        Connectivity Testing Suite</a></strong> validates the functionality of various
        aspects of the Bluetooth, Wi-Fi and cellular radios. The suite includes the
        <strong><a
        href="https://android.googlesource.com/platform/external/sl4a/+/master/README.md">Scripting
        Layer For Android</a></strong>, the <strong><a
        href="https://android.googlesource.com/platform/packages/apps/Test/connectivity/+/master/sl4n/README.md">Scripting
        Layer For Native</a></strong> and the <strong><a
        href="https://android.googlesource.com/platform/tools/test/connectivity/+/master/acts/README.md">Android
        Comms Test Suite</a></strong>.</p>

<a href="{@docRoot}devices/tech/debug/index.html">
        <h4>Crash Dump and Tomstone Details for debuggerd</h4></a>
        <p><strong><a href="{@docRoot}devices/tech/debug/index.html">Debugging
        Native Android Platform Code</a></strong> now contains detailed
        breakdowns of <strong><a
        href="{@docRoot}devices/tech/debug/index.html#crashdump">crash
        dumps</a></strong> and <strong><a
        href="{@docRoot}devices/tech/debug/index.html#tombstones">tombstones</a></strong>
        to help parse the output of <code>debuggerd</code>.</p>

<a href="{@docRoot}source/requirements.html#binaries">
        <h4>Binaries Highlighted, Building the System Renamed</h4></a>
        <p>To ease use, the former Building the System page has been renamed
        <strong><a href="{@docRoot}source/building.html">Preparing to
        Build</a></strong> with links to proprietary binaries (blobs) added to
        Preparing to Build and the central <strong><a
        href="{@docRoot}source/requirements.html#binaries">Requirements</a></strong>
        list.</p>

<a href="{@docRoot}compatibility/cts/downloads.html">
        <h4>Android 6.0, 5.1, and 5.0 CTS Downloads</h4></a>
        <p>Android 6.0 R7, 5.1 R8, and 5.0 R7 Compatibility Test Suite (CTS)
        and CTS Verifier are available for <strong><a
        href="{@docRoot}compatibility/cts/downloads.html#android-60">Download</a></strong>.</p>

<a href="{@docRoot}devices/drm.html">
        <h4>Feedback Fixes DRM Path, Keystore API, Jack Argument</h4></a>
        <p>As a result of your feedback: the path to <strong><a
        href="{@docRoot}devices/drm.html">DRM</a></strong> source code has been
        updated (from <code>/frameworks/base/drm/</code> to
        <code>/frameworks/av/drm/</code>), <strong><a
        href="{@docRoot}security/keystore/index.html">Keystore</a></strong>
        documentation now links to the more relevant <strong><a
        href="https://developer.android.com/reference/android/security/keystore/KeyGenParameterSpec.html">GenSpec
        API</a></strong>, and an error in the <strong><a
        href="{@docRoot}source/jack.html">Jack</a></strong> <code>export
        ANDROID_JACK_EXTRA_ARGS</code> command has been fixed. Please keep the feedback
        coming!</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>
