Android builds will soon require Google Play Services library

1,413 views
Skip to first unread message

Anthony Berent

unread,
Feb 5, 2015, 12:02:15 PM2/5/15
to chromium-dev
I will soon be landing a CL that will make Android builds of some Chromium targets (e.g. chrome_shell_apk) dependent on the Google Play Services library. This is needed to allow us to move certain currently private code (including support of remote video playback) into the public repository.

Unfortunately, due to licensing restrictions, the Google Play Services library cannot be added to the public Chromium repository; but you can download it to your workspace by re-running src/build/install_build_deps_android.sh and accepting the EULA (the Android SDK License Agreement) when prompted.

The Google Play Services library has already been installed on the build bots.

Sun, Xun

unread,
Feb 5, 2015, 9:10:12 PM2/5/15
to abe...@chromium.org, chromium-dev

Could you send another email here when it’s landed?

 

Thanks & Regards

Xun Sun

--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev

To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.

Anthony Berent

unread,
Feb 6, 2015, 5:45:12 AM2/6/15
to chromium-dev
Minor correction. The script is actually called:
src/build/install-build-deps-android.sh
(Dashes not underscores - thanks Simon).

I will send another email when the CL has actually landed, but the new version of this script is already in the repository, so you don't have to wait for my CL to land to run it.

Anthony Berent

unread,
Feb 6, 2015, 12:56:18 PM2/6/15
to chromium-dev
Does anybody have an Android build bot not controlled by the Chromium Infrastructure team? If so, then you will need to re-run 

src/build/install-build-deps-android.sh

on these bots. Note that this prompts you to accept the Google Play Services library, so you will need to run it interactively (or find some other way of accepting the license).

Anthony Berent

unread,
Feb 9, 2015, 5:36:51 AM2/9/15
to chromium-dev
CL now landed - your builds will fail (in GYP) if you haven't installed Google Play Services.

Anthony Berent

unread,
Feb 9, 2015, 12:30:16 PM2/9/15
to chromium-dev
If you get an error similar to:

Updating projects from gyp files...
find: `/ssd/clankium/src/third_party/android_tools/sdk//extras/google/google_play_services/libproject/google-play-services_lib/res': No such file or directory
gyp: Call to 'find /ssd/clankium/src/third_party/android_tools/sdk//extras/google/google_play_services/libproject/google-play-services_lib/res -type f' returned exit status 1.
Error 1 executing command ['/ssd/clankium/src/build/gyp_chromium', '--depth=/ssd/clankium/src', '--check']

Then you probably haven't rerun src/build/install_build_deps_android.sh. Please do so.

Evan Stade

unread,
Feb 9, 2015, 8:25:37 PM2/9/15
to abe...@chromium.org, chromium-dev
On Mon, Feb 9, 2015 at 9:29 AM, Anthony Berent <abe...@chromium.org> wrote:
If you get an error similar to:

Updating projects from gyp files...
find: `/ssd/clankium/src/third_party/android_tools/sdk//extras/google/google_play_services/libproject/google-play-services_lib/res': No such file or directory
gyp: Call to 'find /ssd/clankium/src/third_party/android_tools/sdk//extras/google/google_play_services/libproject/google-play-services_lib/res -type f' returned exit status 1.
Error 1 executing command ['/ssd/clankium/src/build/gyp_chromium', '--depth=/ssd/clankium/src', '--check']

Then you probably haven't rerun src/build/install_build_deps_android.sh. Please do so.

I think the point was that the error should say "re-run install-build-deps-android.sh". Instead, you're forced to copy some part of the error message into your email search box to figure out how to proceed.
 


On Mon Feb 09 2015 at 10:36:15 AM Anthony Berent <abe...@chromium.org> wrote:
CL now landed - your builds will fail (in GYP) if you haven't installed Google Play Services.


On Thu Feb 05 2015 at 5:01:40 PM Anthony Berent <abe...@chromium.org> wrote:
I will soon be landing a CL that will make Android builds of some Chromium targets (e.g. chrome_shell_apk) dependent on the Google Play Services library. This is needed to allow us to move certain currently private code (including support of remote video playback) into the public repository.

Unfortunately, due to licensing restrictions, the Google Play Services library cannot be added to the public Chromium repository; but you can download it to your workspace by re-running src/build/install_build_deps_android.sh and accepting the EULA (the Android SDK License Agreement) when prompted.

The Google Play Services library has already been installed on the build bots.

--

Yufeng Shen

unread,
Feb 9, 2015, 8:49:41 PM2/9/15
to est...@chromium.org, abe...@chromium.org, chromium-dev
On Mon, Feb 9, 2015 at 8:25 PM, Evan Stade <est...@chromium.org> wrote:
On Mon, Feb 9, 2015 at 9:29 AM, Anthony Berent <abe...@chromium.org> wrote:
If you get an error similar to:

Updating projects from gyp files...
find: `/ssd/clankium/src/third_party/android_tools/sdk//extras/google/google_play_services/libproject/google-play-services_lib/res': No such file or directory
gyp: Call to 'find /ssd/clankium/src/third_party/android_tools/sdk//extras/google/google_play_services/libproject/google-play-services_lib/res -type f' returned exit status 1.
Error 1 executing command ['/ssd/clankium/src/build/gyp_chromium', '--depth=/ssd/clankium/src', '--check']

Then you probably haven't rerun src/build/install_build_deps_android.sh. Please do so.

I think the point was that the error should say "re-run install-build-deps-android.sh". Instead, you're forced to copy some part of the error message into your email search box to figure out how to proceed.
 


+1

I ended up searching google first, bug tracker second and then finally found this in my emails.

Misha Efimov

unread,
Feb 9, 2015, 9:25:19 PM2/9/15
to mil...@chromium.org, Evan Stade, Anthony Berent, chromium-dev
FWIW re-running install-build-deps-android.sh doesn't fix the problem for me.

It says that everything is up-to-date, but android_tools/sdk//extras/google/google_play_services is still missing.

Is there more explicit way to download / install it?

Dan Alcantara

unread,
Feb 9, 2015, 10:01:26 PM2/9/15
to m...@chromium.org, mil...@chromium.org, Evan Stade, Anthony Berent, chromium-dev

Run it from build/ and don't source the file?

Anthony Berent

unread,
Feb 10, 2015, 5:07:46 AM2/10/15
to Dan Alcantara, m...@chromium.org, mil...@chromium.org, Evan Stade, chromium-dev
If the script fails for some reason, try running third_party/android_tools/sdk//extras/google/android. This will give you a list of the android components you have installed. If Google Play Services are not installed then install them. If they are, hover over them with the mouse to get their install location. If they are installed in the wrong place you can either copy them to the right place, or uninstall them and run the script again.

Unfortunately it is quite difficult to change the error message, and doing so would involve running extra python from GYP, which would slow down GYP for everybody. This should only be a temporary problem. New users anyway need to run the install script, and it only needs to be run once on existing workspaces.

Anthony Berent

unread,
Feb 10, 2015, 5:11:11 AM2/10/15
to Dan Alcantara, m...@chromium.org, mil...@chromium.org, Evan Stade, chromium-dev
Actually Chris Hopman has found a way of giving a better error message without extra python code. We will land this.

halton huo

unread,
Feb 10, 2015, 9:52:26 PM2/10/15
to chromi...@chromium.org, dfalc...@chromium.org, m...@chromium.org, mil...@chromium.org, est...@chromium.org
Actually, ./build/install-build-deps-android.sh won't work, it does not bring the directory third_party/android_tools/sdk/extras/google/google_play_services/

After debugging, it will wait for user input(y/n) when running "./third_party/android_tools/sdk/tools/android update sdk --no-ui --filter 57"

The workaround is run above script and input y to continue. I'll upload a CL to fix the issue.

Chris Hopman

unread,
Feb 10, 2015, 9:57:17 PM2/10/15
to halto...@gmail.com, chromi...@chromium.org, dfalc...@chromium.org, m...@chromium.org, mil...@chromium.org, est...@chromium.org
Don't upload a cl that makes it automatic. The user must explicitly accept that license agreement for the google play services library.

halton huo

unread,
Feb 10, 2015, 10:08:46 PM2/10/15
to chromi...@chromium.org, halto...@gmail.com, dfalc...@chromium.org, m...@chromium.org, mil...@chromium.org, est...@chromium.org
Then the "./build/install-build-deps-android.sh" won't finish and google_play_services won't be installed.

Always apply workaround? Or you're suggesting "install-build-deps-android.sh" should prompt the "accept that license agreement" to user?

Ryan Sleevi

unread,
Feb 10, 2015, 10:10:33 PM2/10/15
to halto...@gmail.com, dfalc...@chromium.org, Yufeng Shen, chromi...@chromium.org, est...@chromium.org, m...@chromium.org


On Feb 10, 2015 7:09 PM, "halton huo" <halto...@gmail.com> wrote:
>
> Then the "./build/install-build-deps-android.sh" won't finish and google_play_services won't be installed.
>
> Always apply workaround? Or you're suggesting "install-build-deps-android.sh" should prompt the "accept that license agreement" to user?
>

Correct. The same way install-build-deps for Linux prompts the user to install packages from their distro.

Jinho Bang

unread,
Feb 11, 2015, 3:52:43 AM2/11/15
to chromi...@chromium.org
Hi, I have a question.

Is this related to the following issue?

I'm not sure but download_sdk_extras.py seems to work for only buildbot currently.

If install_build_deps_android.sh would be fixed, don't we need download_sdk_extras.py anymore?

Anthony Berent

unread,
Feb 11, 2015, 4:17:03 AM2/11/15
to jinho...@samsung.com, chromi...@chromium.org
I am not sure how much it helps your situation, but install-build-deps-android.sh only need user interaction if GMSCore isn't already correctly installed.

--

Misha Efimov

unread,
Feb 11, 2015, 3:01:18 PM2/11/15
to halton huo, chromium-dev, dfalc...@chromium.org, Yufeng Shen, Evan Stade
I'm not getting y/n prompt, I'm getting 'nothing to install':

./third_party/android_tools/sdk/tools/android update sdk --no-ui --filter 57
Refresh Sources:
  Failed to fetch URL https://dl-ssl.google.com/android/repository/addons_list-2.xml, reason: File not found
  Fetched Add-ons List successfully
  Refresh Sources
  Failed to fetch URL https://dl-ssl.google.com/android/repository/repository-10.xml, reason: File not found
Refresh Sources:
  Failed to fetch URL https://dl-ssl.google.com/android/repository/repository-10.xml, reason: File not found
Refresh Sources:
  Failed to fetch URL https://dl-ssl.google.com/android/repository/repository-10.xml, reason: File not found
There is nothing to install or update.


--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev

--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev

--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
http://groups.google.com/a/chromium.org/group/chromium-dev

Tommy Nyquist

unread,
Feb 11, 2015, 3:04:49 PM2/11/15
to m...@chromium.org, halton huo, chromium-dev, dfalc...@chromium.org, Yufeng Shen, Evan Stade
It seems like it is having issues with finding the lists of things to download. Are you able to open those URLs correctly in your browser?
Is there a local setup for you where you need a proxy to reach the web?

Misha Efimov

unread,
Feb 11, 2015, 3:16:13 PM2/11/15
to Tommy Nyquist, halton huo, chromium-dev, dfalc...@chromium.org, Yufeng Shen, Evan Stade
Yes, they open / download fine in Chrome and using wget.

Sun, Xun

unread,
Feb 11, 2015, 7:37:20 PM2/11/15
to nyq...@chromium.org, m...@chromium.org, halton huo, chromium-dev, dfalc...@chromium.org, Yufeng Shen, Evan Stade

This describes my situation – “Is there a local setup for you where you need a proxy to reach the web?”

 

How to get this to work behind proxies? I have http_proxy and https_proxy setup and can git pull stuff. It does not seem to recognize these settings.

 

Thanks & Regards

Xun Sun

 

To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev...@chromium.org.

Tommy Nyquist

unread,
Feb 11, 2015, 7:48:39 PM2/11/15
to Sun, Xun, m...@chromium.org, halton huo, chromium-dev, dfalc...@chromium.org, Yufeng Shen, Evan Stade
Could you try opening //third_party/android_tools/sdk/tools/android and then go to Tools - Options and setup the proxy there? This would require UI I believe though.

Sun, Xun

unread,
Feb 11, 2015, 8:49:36 PM2/11/15
to Tommy Nyquist, m...@chromium.org, halton huo, chromium-dev, dfalc...@chromium.org, Yufeng Shen, Evan Stade

It worked. Thanks.

 

Thanks & Regards

Xun Sun

 

Alexis Menard

unread,
Feb 13, 2015, 8:35:22 AM2/13/15
to cjho...@chromium.org, halto...@gmail.com, chromium-dev, dfalc...@chromium.org, m...@chromium.org, mil...@chromium.org, est...@chromium.org
Hi,

I understand that your legal department required you to do that but
this makes life harder for 3rd party especially those who maintains
infrastructure downstream chromium. Suddenly something like checkout
-> build which is automatic before becomes something requiring user
inputs to work and require manual intervention (just look how people
got confused in the thread). I think we need a way to accept
automatically the EULA (and let us 3rd party figure out if we can do
that or not, don't worry we'll check with our legal department and
those who don't are on their own). This becomes a problem for those
who are making clean release build where a clean checkout is created
every time so we need to add a manual step just to workaround that
addition and do something suggested above (
"./third_party/android_tools/sdk/tools/android update sdk --no-ui
--filter 57").

Thanks.

Harald Alvestrand

unread,
Feb 13, 2015, 8:55:14 AM2/13/15
to darkt...@gmail.com, cjho...@chromium.org, halto...@gmail.com, chromium-dev, dfalc...@chromium.org, m...@chromium.org, mil...@chromium.org, est...@chromium.org
android_update_sdk --i-have-read-the-licenses-and-agree?

Alexis Menard

unread,
Feb 13, 2015, 9:01:58 AM2/13/15
to Harald Alvestrand, cjho...@chromium.org, halto...@gmail.com, chromium-dev, dfalc...@chromium.org, m...@chromium.org, mil...@chromium.org, est...@chromium.org
Hi,

Something so that gclient sync && ninja -C out/Release whatever_target
doesn't require manual input. If you run gclient sync then the android
sdk is going to be fetched and at that point IMHO it needs to install
everything it needs to successfully complete the build (beside OS
dependencies). I should not need to run something else, maybe invite
me to accept the EULA when syncing with a way to override it.

Thanks.

Torne (Richard Coles)

unread,
Feb 13, 2015, 9:46:45 AM2/13/15
to darkt...@gmail.com, Harald Alvestrand, cjho...@chromium.org, halto...@gmail.com, chromium-dev, dfalc...@chromium.org, m...@chromium.org, mil...@chromium.org, est...@chromium.org
It doesn't fetch the SDK using gclient sync. That happens when you run install-build-deps-android.sh, which is part of installing the OS dependencies (and also does things that need sudo powers). Do you already have some step where this is run manually?


>>
>> --
>> --
>> Chromium Developers mailing list: chromi...@chromium.org
>> View archives, change email options, or unsubscribe:
>>     http://groups.google.com/a/chromium.org/group/chromium-dev
>>
>> To unsubscribe from this group and stop receiving emails from it, send an

Raphael Kubo da Costa

unread,
Feb 24, 2015, 8:38:18 AM2/24/15
to chromi...@chromium.org
Tommy Nyquist <nyq...@chromium.org> writes:

> Could you try opening //third_party/android_tools/sdk/tools/android and
> then go to Tools - Options and setup the proxy there? This would require UI
> I believe though.

Alternatively, you could try adding your proxy settings to
/etc/java-7-openjdk/net.properties.

Levi Weintraub

unread,
Feb 24, 2015, 6:35:21 PM2/24/15
to chromium-dev
I updated the Android Build instructions. You may want to add some more detail: https://code.google.com/p/chromium/wiki/AndroidBuildInstructions#Install_Google_Play_Services

Henrik Kjellander

unread,
Sep 9, 2015, 7:44:02 AM9/9/15
to Chromium-dev
Just for the record, if you're seeing errors like the one Misha had above:

Refresh Sources:
  Failed to fetch URL https://dl-ssl.google.com/android/repository/addons_list-2.xml, reason: File not found
  Fetched Add-ons List successfully
  Refresh Sources
  Failed to fetch URL https://dl-ssl.google.com/android/repository/repository-10.xml, reason: File not found
Refresh Sources:
  Failed to fetch URL https://dl-ssl.google.com/android/repository/repository-10.xml, reason: File not found
Refresh Sources:
  Failed to fetch URL https://dl-ssl.google.com/android/repository/repository-10.xml, reason: File not found
There is nothing to install or update.

Then it can be related to you having ANDROID_SDK_HOME set. That seems to make the script pick another SDK, that may or may not have different proxy settings. Unsetting it resolved the problem for a member in our team (I guess it picks the bundled SDK in third_party/android_tools then).


On Wednesday, February 25, 2015 at 12:35:21 AM UTC+1, Levi Weintraub wrote:
I updated the Android Build instructions. You may want to add some more detail: https://code.google.com/p/chromium/wiki/AndroidBuildInstructions#Install_Google_Play_Services
On Tue, Feb 24, 2015 at 5:36 AM, Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com> wrote:
Tommy Nyquist <nyq...@chromium.org> writes:

> Could you try opening //third_party/android_tools/sdk/tools/android and
> then go to Tools - Options and setup the proxy there? This would require UI
> I believe though.

Alternatively, you could try adding your proxy settings to
/etc/java-7-openjdk/net.properties.

--
--
Chromium Developers mailing list: chromi...@chromium.org
View archives, change email options, or unsubscribe:
    http://groups.google.com/a/chromium.org/group/chromium-dev

To unsubscribe from this group and stop receiving emails from it, send an email to chromium-dev+unsubscribe@chromium.org.

健邱

unread,
Jan 12, 2016, 8:14:51 AM1/12/16
to Chromium-dev, darkt...@gmail.com, cjho...@chromium.org, halto...@gmail.com, dfalc...@chromium.org, m...@chromium.org, mil...@chromium.org, est...@chromium.org
use this command can fix it!

python src/build/android/play_services/update.py download


在 2015年2月13日星期五 UTC+8下午9:55:14,Harald Alvestrand写道:
Reply all
Reply to author
Forward
0 new messages