Contribute

Android Roadmap

Last verified: 2018-07-25 (update history)

Points of contact: ahumesky, jingwen

Overview

Bazel can build Android apps using the Android rules. Blaze, Google’s internal version of Bazel, is used internally at Google to build Google apps such as YouTube, Google Maps, and Gmail.

Bazel has integration with Android Studio via the IntelliJ plugin. It also supports an iterative development mode with mobile-install, building native C++ code with the Android NDK, as well as Robolectric and instrumentation testing.

Goal

Build and test Android apps of all sizes quickly and reliably.

Roadmap

This roadmap is a high level overview of planned features and fixes. See the tracking spreadsheet for a list of finer-grained tasks.

As of Q3 2018, the native Android rules are being incrementally rewritten and migrated to rules_android. With this, the development of the Android rules can be decoupled from the core build system development.

Q3 2018

Build performance

  • Publish a prototype continuous build performance dashboard for Android projects.

Developer experience

  • Document Android with Bazel compatibility across Windows, macOS and Linux.
  • Introduce a best-practices documentation on configuring your Android build.
  • Introduce tools_android repository for common Android build tools for use with Bazel (e.g. Firebase, Google Services)

NDK

Tooling (Build & Test)

  • Support Databinding 3.2.0 (v2). (#2694)
  • Support (#5150) and default to D8 for dexing.
  • Support (#5214) and default to aapt2 (#4103) for resource processing.

Q4 2018 and later

Developer experience

  • Replace bazel mobile-install in favor of its Skylark reimplementation, mobile-install v2, which has better performance and works with instrumentation tests.
  • Interoperability with Kotlin.
  • Design and implement tooling for migrating Android projects to Bazel.

Rules

  • Introduce android_archive rule to build AARs from android_library targets.