0

Freshen up google_play_services.md

Change-Id: I2c0aabfc130329a021f19d5fcdea3d9006070d35
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3097707
Auto-Submit: Andrew Grieve <agrieve@chromium.org>
Reviewed-by: Sam Maier <smaier@chromium.org>
Commit-Queue: Sam Maier <smaier@chromium.org>
Cr-Commit-Position: refs/heads/master@{#912226}
This commit is contained in:
Andrew Grieve
2021-08-16 17:24:00 +00:00
committed by Chromium LUCI CQ
parent f0c28bf7b4
commit d65d047515

@ -1,45 +1,15 @@
# Google Play services in Chrome for Android
# Google Play Services in Chrome for Android
[TOC]
Google Play Services is a collection of [services] exposed on GMS-certified
Android devices. Chrome relies on it for features like Sign In, Feedback and
Cast.
Google employee? See [go/chrome-gms](https://goto.google.com/chrome-gms) for
more info.
The list of libraries and versions used by Chrome is listed in
[//third_party/android_deps/build.gradle][build.gradle]. To update this list,
refer to its [README.md]
## General setup
Google employee? See [go/doubledown-play-services](https://goto.google.com/doubledown-play-services).
The Google Play services are a combination of [services][play_store] exposed on
Android devices and [libraries][dev_doc] to interact with them. Chrome relies
on them for critical features like Sign in, Feedback or Cast.
The standard way of adding the Google Play services as a dependency to a project
is to import it through the Android SDK manager as a Maven repository. That
repository contains multiple versions of the library split into separate APIs
(for example Cast, GCM, Android Pay, etc). To avoid downloading a lot of data we
don't need to build Chrome, android checkouts of Chromium download an archive
containing only the APIs we currently need in Chrome, and in a single version.
The up to date list of clients and version used can be seen in
[//third_party/android_deps/build.gradle][build.gradle].
To update play services, change the gmsVersion variable in
[//third_party/android_deps/build.gradle][build.gradle], then run
[//third_party/android_deps/fetch_all.py][fetch_all.py].
[play_store]: https://play.google.com/store/apps/details?id=com.google.android.gms
[dev_doc]: https://developers.google.com/android/guides/overview
[build.gradle]: ../third_party/android_deps/build.gradle
[fetch_all.py]: ../third_party/android_deps/fetch_all.py
## Adding a dependency on new APIs
As explained above, the default checkout has access to only a specific set of
APIs during builds. If your CL depends on some APIs that are not included in the
build, you will need to add an entry in
[//third_party/android_deps/build.gradle][build.gradle].
Not doing so could make the CL fail on the trybots and commit queue. Even if it
passes, it might fail on the internal bots and result in the CL getting
reverted, so please make sure the APIs are available to the bots before
submitting.
[bug_link]:https://bugs.chromium.org/p/chromium/issues/entry?labels=Restrict-View-Google,pri-1,Hotlist-GooglePlayServices&owner=agrieve@chromium.org&os=Android
[services]: https://developers.google.com/android/guides/overview
[build.gradle]: /third_party/android_deps/build.gradle
[README.md]: /third_party/android_deps/README.md#adding-a-new-library-or-updating-existing-libraries