{"id":14235541,"url":"https://github.com/pyricau/androidsrc","last_synced_at":"2025-03-17T06:31:54.176Z","repository":{"id":50949037,"uuid":"310133198","full_name":"pyricau/androidsrc","owner":"pyricau","description":"Find Android sources","archived":false,"fork":false,"pushed_at":"2021-05-27T01:02:22.000Z","size":133,"stargazers_count":173,"open_issues_count":6,"forks_count":15,"subscribers_count":11,"default_branch":"main","last_synced_at":"2025-02-27T19:19:34.052Z","etag":null,"topics":["android","source-code"],"latest_commit_sha":null,"homepage":"https://androidsrc.dev","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pyricau.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-11-04T22:35:52.000Z","updated_at":"2024-08-12T20:07:22.000Z","dependencies_parsed_at":"2022-09-07T15:40:53.384Z","dependency_job_id":null,"html_url":"https://github.com/pyricau/androidsrc","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyricau%2Fandroidsrc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyricau%2Fandroidsrc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyricau%2Fandroidsrc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pyricau%2Fandroidsrc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pyricau","download_url":"https://codeload.github.com/pyricau/androidsrc/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243847061,"owners_count":20357317,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["android","source-code"],"created_at":"2024-08-20T21:02:03.477Z","updated_at":"2025-03-17T06:31:53.676Z","avatar_url":"https://github.com/pyricau.png","language":"Ruby","funding_links":[],"categories":["Ruby"],"sub_categories":[],"readme":"# Welcome 👋\n\nDevelopers write better apps when they can [read the source](https://blog.codinghorror.com/learn-to-read-the-source-luke/). Unfortunately, the sources for the Android framework and various Google Android libraries are scattered all over the web.\n\nThis page helps Android developers find the sources they're looking for.\n\n🤔 Something missing? [Report](https://github.com/pyricau/androidsrc/issues/new) or [edit](https://github.com/pyricau/androidsrc/edit/main/README.md).\n\n# Libraries\n\n## Jetpack\n\n* Most Jetpack libraries have sources available on [cs.android.com/androidx](https://cs.android.com/androidx/platform/frameworks/support). Some interesting ones:\n  * [Activity](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:activity/)\n  * [Compose](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:compose/)\n  * [Fragment](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:fragment/)\n  * [Hilt Jetpack extensions](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:hilt/)\n  * [Navigation](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:navigation/)\n  * [Paging](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:paging/)\n  * [Room](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:room/)\n  * [Startup](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:startup/)\n  * [WorkManager](https://cs.android.com/androidx/platform/frameworks/support/+/androidx-main:work/)\n* That repository is also synced [to GitHub](https://github.com/androidx/androidx)\n    * You can contribute via GitHub to a [subset of projects](https://github.com/androidx/androidx#contribution-guide) (experimental workflow). You can also contribute by clicking **Edit Code** in a file on cs.android.com, which should work for all projects in that repository.\n\n## ConstraintLayout / MotionLayout\n\n* Developed directly [on GitHub](https://github.com/androidx/constraintlayout), browsable on [cs.android.com](https://cs.android.com/androidx/constraintlayout).\n  * The git history starts at 2.0.0, 1.x sources are available [here](https://cs.android.com/androidx/constraintlayout/+/main:constraintlayout/constraintlayout/src/main/java/androidx/constraintlayout/widget/ConstraintLayout.java).\n\n## Espresso / Android Test\n\n* Developed directly [on GitHub](https://github.com/android/android-test), browsable on [cs.android.com](https://cs.android.com/androidx/android-test)\n\n## Data Binding\n\n* Latest sources are browsable on [cs.android.com](https://cs.android.com/androidx/platform/frameworks/data-binding)\n* When a release is stable, its sources are synced to [cs.android.com/android](https://cs.android.com/android/platform/superproject/+/studio-master-dev:tools/data-binding/extensions/library/src/main/java/androidx/databinding/) on the `studio-master-dev` branch.\n  * 👎🔎 Release version is not searchable online: the `studio-master-dev` branch is not indexed.\n\n## Material Components for Android\n\n* Developed directly [on GitHub](https://github.com/material-components/material-components-android), browsable on [cs.opensource.google](https://cs.opensource.google/material-components/material-components-android).\n\n## Dagger 2\n\n* Developed directly [on GitHub](https://github.com/google/dagger).\n\n# The Android Framework\n\n* Available on [cs.android.com/android](https://cs.android.com/android/platform/superproject)\n* View internals? See [View.java](https://cs.android.com/android/platform/superproject/+/master:frameworks/base/core/java/android/view/View.java).\n* Activity lifecycle? See [ActivityThread.java](https://cs.android.com/android/platform/superproject/+/master:frameworks/base/core/java/android/app/ActivityThread.java).\n* Art Runtime? See [class.cc](https://cs.android.com/android/platform/superproject/+/master:art/runtime/mirror/class.cc).\n\n## What if it's a new version, sources not available yet?\n\n* Start an emulator for the latest version.\n* Run `adb pull /system/framework/framework.jar`.\n* Unzip `framework.jar` (contains dexes).\n* Use [dex2jar](https://github.com/pxb1988/dex2jar) to turn dexes into jars.\n* Explore with [jd-gui](http://java-decompiler.github.io/) or IntelliJ (hack: add as a dependency)\n\n# Android Studio\n\n* Latest sources are browsable on [cs.android.com](https://cs.android.com/android-studio/platform/tools/adt/idea).\n* When a release is stable, its sources are synced to [cs.android.com/android](https://cs.android.com/android/platform/superproject/+/studio-master-dev:tools/adt/idea/) on the `studio-master-dev` branch.\n  * 👎🔎 Release version is not searchable online: the `studio-master-dev` branch is not indexed.\n\n# Android Gradle Plugin (AGP)\n\n* Latest sources are browsable on [cs.android.com](https://cs.android.com/android-studio/platform/tools/base).\n* When a release is stable, its sources are synced to [cs.android.com/android](https://cs.android.com/android/platform/superproject/+/studio-master-dev:tools/base/build-system/;bpv=1) on the `studio-master-dev` branch.\n  * 👎🔎 Release version is not searchable online: the `studio-master-dev` branch is not indexed.\n* [@jrodbx](https://github.com/jrodbx) dumped the sources for each release [on github](https://github.com/jrodbx/agp-sources).\n  * The sources are dumped from Maven Central.\n\n# Kotlin\n\n* Sources for the Kotlin compiler and standard lib are [on GitHub](https://github.com/JetBrains/kotlin).\n\n# Firebase\n\n* A subset of Firebase Android libraries have sources available [on GitHub](https://github.com/firebase/firebase-android-sdk), also browsable on [cs.opensource.google/firebase-sdk](https://cs.opensource.google/firebase-sdk/firebase-android-sdk).\n  * Firebase Analytics is not open source.\n\n# Bazel\n\nBazel is a build tool maintained by Google but not part of the official Android toolchain. Some Android devs begrudgingly use it.\n\n* Bazel is developed [on Github](https://github.com/bazelbuild/) and browsable on [cs.opensource.google/bazel](https://cs.opensource.google/bazel).\n\n# Skia\n\nSkia 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.\n\n* Available on [cs.opensource.google/skia](https://cs.opensource.google/skia/skia).\n\n# Google Play Services\n\n* Play Services is not open source. I added this entry because people keep asking about it 😅.\n  *  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](https://github.com/google/play-services-plugins).\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpyricau%2Fandroidsrc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpyricau%2Fandroidsrc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpyricau%2Fandroidsrc/lists"}