Skip to content

pyricau/androidsrc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Welcome 👋

Developers write better apps when they can read the source. Unfortunately, the sources for the Android framework and various Google Android libraries are scattered all over the web.

This page helps Android developers find the sources they're looking for.

🤔 Something missing? Report or edit.

Libraries

Jetpack

ConstraintLayout / MotionLayout

Espresso / Android Test

Data Binding

  • Latest sources are browsable on cs.android.com
  • When a release is stable, its sources are synced to cs.android.com/android on the studio-master-dev branch.
    • 👎🔎 Release version is not searchable online: the studio-master-dev branch is not indexed.

Material Components for Android

Dagger 2

The Android Framework

What if it's a new version, sources not available yet?

  • Start an emulator for the latest version.
  • Run adb pull /system/framework/framework.jar.
  • Unzip framework.jar (contains dexes).
  • Use dex2jar to turn dexes into jars.
  • Explore with jd-gui or IntelliJ (hack: add as a dependency)

Android Studio

  • Latest sources are browsable on cs.android.com.
  • When a release is stable, its sources are synced to cs.android.com/android on the studio-master-dev branch.
    • 👎🔎 Release version is not searchable online: the studio-master-dev branch is not indexed.

Android Gradle Plugin (AGP)

  • Latest sources are browsable on cs.android.com.
  • When a release is stable, its sources are synced to cs.android.com/android on the studio-master-dev branch.
    • 👎🔎 Release version is not searchable online: the studio-master-dev branch is not indexed.
  • @jrodbx dumped the sources for each release on github.
    • The sources are dumped from Maven Central.

Kotlin

  • Sources for the Kotlin compiler and standard lib are on GitHub.

Firebase

Bazel

Bazel is a build tool maintained by Google but not part of the official Android toolchain. Some Android devs begrudgingly use it.

Skia

Skia is a 2D graphics library used by Android and Compose Desktop. On Android it's always been used for software rendering, and is used for hardware rendering except from Android 3.0 to 9.0.

Google Play Services

  • Play Services is not open source. I added this entry because people keep asking about it 😅.
    • A small number of Gradle plugins related to Play Services, including strict-version-matcher-plugin, oss-licenses-plugin, and google-services-plugin, have been open sourced on GitHub.