project_path: /_project.yaml
book_path: /_book.yaml
landing_page:
  header:
    buttons:
    - label: Get source
      path: /setup/downloading
  rows:
  - items:
    - heading: 9 interfaces and architecture
      description: >
        Port the latest Android platform using simple HIDL interfaces to create
        compelling devices for your customers.
        <style>
        .devsite-feedback-button {
          display: none;
        }
        /* blank bg color for landing images in first row */
        .devsite-landing-row:first-of-type .devsite-landing-row-item-image {
          background: none;
        }
        </style>
      buttons:
      - label: Learn Treble
        path: /devices/architecture/
      image_path: /images/landing_icon-porting.png
    - heading: Securing Android is essential
      description: >
        Find out how the Android security program works and learn how to
        implement the latest features.
      image_path: /images/landing_icon-security.png
      buttons:
      - label: Implement Security
        path: /security/
    - heading: Design compatible devices
      description: >
        Offer a consistent experience with other Android-powered devices and
        get the ability to include more apps.
      image_path: /images/landing_icon-compatibility.png
      buttons:
      - label: Test Devices
        path: /compatibility/
  - classname: devsite-landing-row-large-headings devsite-landing-row-no-image-background tf-about-row devsite-landing-row-75
    background: grey
    items:
    - heading: About the Android Open Source Project
      description: |
        Android is an open source operating system for mobile devices and a
        corresponding open source project led by Google. This site and the
        Android Open Source Project (AOSP) repository offer the information and
        source code needed to create custom variants of the Android OS, port
        devices and accessories to the Android platform, and ensure devices meet
        the compatibility requirements that keep the Android ecosystem a healthy
        and stable environment for millions of users.
        <br><br>
        As an open source project, Android's goal is to avoid any central point
        of failure in which one industry player can restrict or control the
        innovations of any other player. To that end, Android is a full,
        production-quality operating system for consumer products, complete with
        customizable source code that can be ported to nearly any device and
        public documentation that is available to everyone (in English at
        <a href="https://source.android.com/">source.android.com</a> and in
        Simplified Chinese at
        <a href="https://source.android.google.cn/">source.android.google.cn</a>).
        <br><br>
        Just as you can <a href="/setup/contribute/">contribute code to
        AOSP</a>, you can also contribute to AOSP documentation&mdash;and we
        want your input! Android's flexibility and ever-changing codebase means
        this site needs your feedback to keep content fresh, accurate, and
        relevant to Android implementors. We encourage you to check the
        <a href="https://android.googlesource.com/platform/docs/source.android.com/+log/master?pretty=full&no-merges">changelog</a>
        for details on recent AOSP updates and to report bugs or offer
        suggestions using the
        <a href="https://issuetracker.google.com/issues/new?component=191476">Site
        Feedback</a> at the bottom of every page (or by visiting
        <a href="https://g.co/androidsourceissue">g.co/androidsourceissue</a>).
      image_path: /images/android_stack.png
  - heading: News
    items:
    - heading: Simpler Requirements
      description: >
        The software requirements for building Android have been greatly simplified, with
        instructions for older versions moved to a distinct page that also links to Docker for easy
        installs.
      buttons:
      - label: February 14th, 2019
        path: setup/build/older-versions
    - heading: February Security Bulletins
      description: >
        The February 2019 Android and Pixel Bulletins have been published
        along with links to associated fixes and new build numbers to support the
        February security release.
      buttons:
      - label: February 4th, 2019
        path: /security/bulletin/2019-02-01
    - heading: Simpleperf
      description: >
        Evaluating Performance links to documentation on the essential Simpleperf tool for
        profiling native processes and CPU Profiler to inspect app CPU use.
      buttons:
      - label: January 31st, 2019
        path: /devices/tech/debug/eval_perf
  - classname: devsite-landing-row-100 tf-row-centered
    items:
    - buttons:
      - classname: button button-primary
        label: More Updates
        path: /setup/site-updates
