fullpage=true
excludeFromSuggestions=true
page.metaDescription=The official site for Android developers. Provides the Android SDK and documentation for app developers and designers.
page.customHeadTag=<meta name="google-site-verification" content="sa-bIAI6GKvct3f61-WpRguHq-aNjtF7xJjMTSi79as" />
nonavpage=true

@jd:body

<script>
  $(document).ready(function() {
    if (useUpdatedTemplates) {
      $("#useUpdatedTemplates").css("display","block");
    } else {
      $("#useOldTemplates").css("display","block");
    }
  })
</script>

<section class="dac-expand dac-hero dac-invert" style="background-color:#455A64">
  <div class="wrap" style="max-width:1100px;margin-top:0">
    <div class="col-7of16 col-push-9of16" style="padding-left:2em;">
      <a href="{@docRoot}preview/index.html">
        <h1 class="dac-hero-title">Android N Developer Preview</h1>
        <p class="dac-hero-description">
          <strong>Android N final SDK is now available!</strong>
          Get ready for the next version of Android!
          <strong>Test your apps</strong> on Nexus and other devices. Support new system
          behaviors to <strong>save power and memory</strong>.
          Extend your apps with <strong>multi-window UI</strong>,
          <strong>direct reply notifications</strong> and more.
        </p>
        <a class="dac-hero-cta" href="/preview/index.html">
          <span class="dac-sprite dac-auto-chevron"></span>
          Learn more
        </a><!--<br>
        <a class="dac-hero-cta" href="/preview/support.html">
          <span class="dac-sprite dac-auto-chevron"></span>
          Update to Developer Preview (final SDK)
        </a><br>-->
      </a>
    </div>
    <div class="col-9of16 col-pull-7of16 dac-hero-figure" style="margin-top:1.5em;padding-right:1.5em;">
      <a href="{@docRoot}preview/index.html">
        <img style="" class="dac-hero-image" src="/images/home/n-preview-hero.png"
             srcset="/images/home/n-preview-hero.png 1x,
             /images/home/n-preview-hero_2x.png 2x">
        </a>
    </div>
  </div>
</section>

<div id="useUpdatedTemplates" style="display:none" class="dac-section dac-slim dac-gray dac-expand">
  <div class="wrap dac-offset-parent">
    <a class="dac-fab dac-scroll-button" data-scroll-button href="#build-apps">
      <i class="dac-sprite dac-arrow-down-gray"></i>
    </a>
    <ul class="dac-actions">
      <li class="dac-action">
        <a class="dac-action-link" href="{@docRoot}studio/index.html">
          <i class="dac-action-sprite dac-sprite dac-auto-chevron-large"></i>
          Get Android Studio
        </a>
      </li>
      <li class="dac-action">
        <a class="dac-action-link" href="{@docRoot}samples/index.html">
          <i class="dac-action-sprite dac-sprite dac-auto-chevron-large"></i>
          Browse sample code
        </a>
      </li>
      <li class="dac-action">
        <a class="dac-action-link" href="{@docRoot}distribute/stories/index.html">
          <i class="dac-action-sprite dac-sprite dac-auto-chevron-large"></i>
          Watch stories
        </a>
      </li>
    </ul>
  </div><!-- end .wrap -->
</div><!-- end .dac-actions -->

<div id="useOldTemplates" style="display:none" class="actions-bar dac-expand dac-invert">
  <div class="wrap dac-offset-parent">
    <a class="dac-fab dac-scroll-button" data-scroll-button="" href="#build-apps">
      <i class="dac-sprite dac-arrow-down-gray"></i>
    </a>
    <div class="actions">
      <div><a href="{@docRoot}studio/index.html">
        <span class="dac-sprite dac-auto-chevron-large"></span>
        Get Android Studio
      </a></div>
      <div><a href="{@docRoot}samples/index.html">
        <span class="dac-sprite dac-auto-chevron-large"></span>
        Browse Samples
      </a></div>
      <div><a href="{@docRoot}distribute/stories/index.html">
        <span class="dac-sprite dac-auto-chevron-large"></span>
        Watch Stories
      </a></div>
    </div><!-- end .actions -->
  </div><!-- end .wrap -->
</div>

<section class="dac-section dac-light" id="build-apps"><div class="wrap">
  <h1 class="dac-section-title">Build Beautiful Apps</h1>
  <div class="dac-section-subtitle">
    Resources to get you started with designing and developing for Android.
  </div>
  <div class="resource-widget resource-flow-layout col-16"
       data-query="collection:index/primary"
       data-cardSizes="6x6"
       data-maxResults="3"></div>
</div></section>

<div class="dac-hero-carousel" data-carousel-query="collection:index/secondary/carousel">
</div>

<section class="dac-section dac-gray"><div class="wrap">
  <div class="cols"><div class="col-10of12 col-push-1of12">
    <h1 class="dac-section-title">Build for a Multi-Screen World</h1>
    <div class="dac-section-subtitle">
      Android runs on billions of handheld devices around the world,
      and it now supports these exciting, new form-factors.
    </div>
  </div></div>
  <div class="resource-widget resource-flow-layout col-16"
       data-query="collection:index/multiscreen"
       data-cardSizes="6x6"
       data-maxResults="3"></div>
</div></section>
