Aosp没有tools/vendor/google3项目。

13
当我使用'bazel build //tools/adt/idea/...'命令从源代码构建Android Studio时,无法始终找到'tools/vendor/google3'模块,难道Google不是开源项目吗?
zhangyang@zhangyang-OptiPlex-7040:~/aosp/gradle_3.1.2$ bazel build //tools/adt/idea/...
WARNING: ignoring http_proxy in environment.
Starting local Bazel server and connecting to it...
..............................
ERROR: error loading package '': Encountered error while reading extension file 'binds.bzl': no such package '@blaze//': /home/zhangyang/.cache/bazel/_bazel_zhangyang/e54d4cb13781c1d72b64dc99700261fe/external/blaze must be an existing directory
ERROR: error loading package '': Encountered error while reading extension file 'binds.bzl': no such package '@blaze//': /home/zhangyang/.cache/bazel/_bazel_zhangyang/e54d4cb13781c1d72b64dc99700261fe/external/blaze must be an existing directory
INFO: Elapsed time: 0.621s
INFO: 0 processes.
FAILED: Build did NOT complete successfully (0 packages loaded)

Bazel工作区: load("//tools/base/bazel:repositories.bzl", "setup_external_repositories") setup_external_repositories()

(该段代码用于加载Bazel配置文件并设置外部依赖库)
local_repository(
     name = "blaze",
     path = "tools/vendor/google3/blaze",
)
load("@blaze//:binds.bzl", "blaze_binds")
blaze_binds()

http_archive(
 name = "bazel_toolchains",
 urls = [
  "https://mirror.bazel.build/github.com/bazelbuild/bazel-toolchains/archive/b49ba3689f46ac50e9277dafd8ff32b26951f82e.tar.gz",
 "https://github.com/bazelbuild/bazel-toolchains/archive/b49ba3689f46ac50e9277dafd8ff32b26951f82e.tar.gz",
 ],
 strip_prefix = "bazel-toolchains-b49ba3689f46ac50e9277dafd8ff32b26951f82e",
 sha256 = "1266f1e27b4363c83222f1a776397c7a069fbfd6aacc9559afa61cdd73e1b429",
)

但是Aosp没有tools/vendor/google3项目


1
这听起来像是一个漏洞,你能否在Android Studio上提交一个问题吗? - hlopko
我不确定这是一个 bug,我认为可以在 Stack Overflow 上解决,先等一下。 - yangzaiCN
1
我和你面临着完全相同的问题,不知道你最终是否找到了解决方案。很想听听你的发现。提前感谢你。 - Zsolt Boldizsar
2个回答

2
TL;DR:
- AOSP中的bazel build出现问题。 - 使用/tools/idea/build_studio.sh代替。 - 或者,如果你只想构建tools/base中的一个子模块,只需运行gradle build。你可能需要从gradle.build中删除一些死依赖项,但这应该很容易修复。
长篇版本:
我遇到了相同的错误消息,并查看了external目录:
ls -lah ~/.cache/bazel/_bazel_xxx/89112fe8516b5fa5b01df0651312df31/external/
total 16K
drwxrwxr-x 2 xxx xxx 4.0K Dec 12 14:04 .
drwxrwxr-x 7 xxx xxx 4.0K Dec 12 14:04 ..
-rw-rw-r-- 1 xxx xxx   33 Dec 12 14:04 @bazel_tools.marker
lrwxrwxrwx 1 xxx xxx  110 Dec 12 14:04 bazel_tools -> /home/xxx/.cache/bazel/_bazel_xxx/install/35f799b1c96ee2522d30a28ff4ef485a/_embedded_binaries/embedded_tools
lrwxrwxrwx 1 xxx xxx   55 Dec 12 14:04 blaze -> /home/xxx/studio-master-dev/tools/vendor/google3/blaze

实际缺少的是/tools/vendor/google3/blaze。快速谷歌搜索显示blaze是bazel的内部版本,仅在Google内部使用。
Android Studio问题跟踪器中的一个线程也确认了AOSP中bazel构建已经损坏,并提供了一些额外的提示,即studio-master-dev分支中的构建说明都已过时(糟糕)。该问题目前仍未解决,因此如果您正在构建Android Studio(或相关工具),您可能需要查看最新的讨论。

3
“<studio-master-dev>/tools/idea/build_studio.sh” 给出了关于在“tools/vendor/google3/blaze”中缺少“@blaze//”包的相同错误。有什么建议可以构建Android Studio吗? - MestreLion

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接