summaryrefslogtreecommitdiff
path: root/chromium/docs/google_play_services.md
blob: b9fa0ab75a3e8e952a1eb8a3434a3ed3915a15fa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
# Google Play services in Chrome for Android

[TOC]

Google employee? See [go/chrome-gms](https://goto.google.com/chrome-gms) for
more info.

## General setup

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
[//tools/android/roll/android_deps/build.gradle][build.gradle].

To update play services, change the gmsVersion variable in
[//tools/android/roll/android_deps/build.gradle][build.gradle], then run
[//tools/android/roll/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]: ../tools/android/roll/android_deps/build.gradle

## 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
[//tools/android/roll/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