Bazel - 无法使用 Android Studio 进行构建

use*_*216 5 java intellij-idea android-studio bazel

首先,我安装并配置了 Bazel,现在我可以使用该教程成功编译和部署应用程序。

但是,我还是坚持使用 Android Studio。我安装了官方 Bazel 插件,然后尝试将我的 Bazel 项目导入到 Android studio(从 BUILD 文件导入)。我收到同步错误:

同步项目:同步(增量)...更新 VCS...运行 Bazel 信息...命令:bazel info --tool_tag=ijwb:AndroidStudio --curses=no --color=yes --progress_in_terminal_title=no --

计算 VCS 工作集...查询项目目录中的目标...命令: bazel query --tool_tag=ijwb:AndroidStudio --output=label_kind --keep_going "attr(\"tags\", \"^((?!手册).)*$\", //src/main/...:all)" --

在项目目录下找到2个目标;同步其中 2 个。从项目视图目录同步目标:
//src/main/java/com/example/bazel:greeter_activity //src/main:app

构建 Bazel 目标...命令: bazel build --tool_tag=ijwb:AndroidStudio --keep_going --build_event_binary_file=/tmp/intellij-bep-782d8b0b-2f34-43f6-8f09-1efdd034cbfb --nobuild_event_binary_file_path_conversion --curses=no -- color=yes --progress_in_terminal_title=no --aspects=@intellij_aspect //:intellij_info_bundled.bzl%intellij_info_aspect --override_repository=intellij_aspect=/home/michal/.AndroidStudio3.5/config/plugins/aswb/aspect --output_groups=intellij -info-android,intellij-info-generic,intellij-info-java,intellij-resolve-android,intellij-resolve-java -- //src/main/java/com/example/bazel:greeter_activity //src/main :应用程序

正在加载:正在加载:已加载 0 个包正在分析:2 个目标(已加载 0 个包,已配置 0 个目标)正在分析:2 个目标(已加载 31 个包,已配置 622 个目标)错误:/home/michal/AndroidStudioProjects/bazel/2/examples-master/ android/tutorial/src/main/java/com/example/bazel/BUILD:5:1:在 android_library 规则上的 @intellij_aspect///:intellij_info_bundled.bzl%intellij_info_aspect 方面 //src/main/java/com/example/bazel :greeter_activity:回溯(最近一次调用最后):文件“/home/michal/AndroidStudioProjects/bazel/2/examples-master/android/tutorial/src/main/java/com/example/bazel/BUILD”,第5行@ intellij_aspect //:intellij_info_bundled.bzl%intellij_info_aspect(...)文件“/home/michal/.cache/bazel/_bazel_michal/d2759e71c9e0462cf95e741761af2e78/external/intellij_aspect/intellij_info_bundled.bzl”,第54行,在_aspect_impl中tellij_info_aspect_impl(目标,ctx,语义)文件“/home/michal/.cache/bazel/_bazel_michal/d2759e71c9e0462cf95e741761af2e78/external/intellij_aspect/intellij_info_impl.bzl”,第895行,intellij_info_aspect_implcollect_android_info(目标,ctx,语义,ide_info,<2个更多参数>)文件“ /home/michal/.cache/bazel/_bazel_michal/d2759e71c9e0462cf95e741761af2e78/external/intellij_aspect/intellij_info_impl.bzl”,第706行,在collect_android_info get_res_artifacts(ctx.rule.attr.resource_files,andr...)文件“/home/michal/ .cache/bazel/_bazel_michal/d2759e71c9e0462cf95e741761af2e78/external/intellij_aspect/intellij_info_impl.bzl”,第118行,在resource.files中的文件的get_res_artifacts中:...类型“depset”不可迭代。使用to_list()获取列表的方法。使用 --incomplete_depset_is_not_iterable=false 暂时禁用此检查。信息:分析了 2 个目标(加载了 33 个包,配置了 699 个目标)。信息:找到 2 个目标...信息:删除过时的沙箱基 /home/michal/.cache/bazel/_bazel_michal/d2759e71c9e0462cf95e741761af2e78/sandbox [0 / 1] [Prepa] BazelWorkspaceStatusAction stable-status.txt 错误:命令成功,但不成功分析了所有目标信息:运行时间:3.012 秒,关键路径:0.02 秒信息:0 个进程。失败:构建未成功完成 失败:构建未成功完成 信息:成功生成构建事件协议文件。失败:构建未成功完成构建调用结果:build_error 同步成功,但存在 Bazel 构建错误。在修复之前,该项目可能无法完全更新或解决。如果错误来自您的工作集,请取消选中“Bazel > 同步 > 展开同步到工作集”,然后重试。正在解析构建输出... 总规则:0,新增/更改:0,已删除:0 正在读取 IDE 信息结果... 正在更新目标映射 已加载 0 个方面文件,总大小 0kB 目标映射大小:0 正在读取 jdeps 文件...已加载0 个 jdeps 文件,总大小 0kB 正在读取包清单... Java 内容条目计数:1 正在更新解压的 AAR 库... 正在更新 Jar 缓存... 正在预取文件... 正在刷新文件 正在计算目录结构... 正在提交项目结构... .工作区有 0 个库 Android 资源模块计数:0,运行配置模块:0,订单条目:0,生成的资源:0 工作区有 2 个模块正在更新内存状态...无法从清单文件读取:/home/michal /AndroidStudioProjects/bazel/2/examples-master/android/tutorial/AndroidManifest.xml 同步完成

错误:(5, 1) in @intellij_aspect //:intellij_info_bundled.bzl%intellij_info_aspect 方面 android_library 规则 //src/main/java/com/example/bazel:greeter_activity:

Jin*_*Jin 0

这里一堆错误消息很难阅读,但根本原因如下:

“/home/michal/.cache/bazel/_bazel_michal/d2759e71c9e0462cf95e741761af2e78/external/intellij_aspect/intellij_info_impl.bzl”,第118行,在resource.files中的文件的get_res_artifacts中:...类型“depset”不可迭代。使用 to_list() 方法获取列表。使用 --incomplete_depset_is_not_iterable=false 暂时禁用此检查。

添加build --incompatible_depset_is_not_iterable=false到项目的.bazelrc文件中,或者等待v2019.09.16包含补丁修复的下一个插件版本。