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 2013 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. Here you can find the information and source code you need to learn more about the Android platform. From there you can
      create custom variants of the Android software stack, port devices and accessories to the Android platform,
      and ensure your devices are compatible with the Android compatibility definition.
      </p>

  </div>

</div>

<div class="wrap">

  <div class="landing-docs">
    <div class="col-8">
    <h3>What's New</h3>

<a href="{@docRoot}devices/graphics.html">
        <h4>Graphics introduction and implementation rewritten</h4></a>
        <p>The <strong><a
        href="{@docRoot}devices/graphics.html">Graphics introduction</a></strong> and <strong><a
	href="{@docRoot}devices/graphics/implement.html">implementation
        instructions</a></strong> have been revised in entirety.</p>

<img border="0" src="images/Android_Robot_100.png" alt="Android Partner icon" style="display:inline;float:right;margin:5px 10px">

<a href="{@docRoot}devices/drm.html">
        <h4>DRM page rewritten</h4></a>
        <p>The description of the Android <strong><a
        href="{@docRoot}devices/drm.html">DRM</a></strong> framework has been
        completely rewritten and expanded.</p>

<a href="{@docRoot}devices/tuning.html">
        <h4>Performance tuning property removed</h4></a>
        <p>The <code>ro.hwui.fbo_cache_size</code> property has been removed
        from Android and the corresponding <strong><a
href="{@docRoot}devices/tuning.html">Performance tuning</a></strong> list.</p>

<a href="{@docRoot}compatibility/cts-intro.html">
        <h4>Compatibility Test Suite manual revised</h4></a>
        <p>The <strong><a
        href="{@docRoot}compatibility/android-cts-manual.pdf">Compatibility Test Suite
        (CTS) manual</a></strong> has been revised with additional details regarding location
        settings and more.</p>

<a href="{@docRoot}source/known-issues.html">
        <h4>Known issues refined</h4></a>
        <p>The list of <strong><a
        href="{@docRoot}source/known-issues.html">Known Issues</a></strong>
        has been updated and split into categories.</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
repository</a></strong> to make your changes available to everyone else in
        the Android ecosystem.</p>
      <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>
    </div>

  </div>

</div>
