繁体   English   中英

Bazel - 无法使用 Android Studio 构建

[英]Bazel - unable to build with Android Studio

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

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

同步项目:同步(增量)...更新 VCS...运行 Bazel info...命令: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: 在@intellij_aspect//:intellij_info_bundled.bzl%intellij_info_aspect 方面android_library 规则//src/main/java/com/example/bazel :greeter_activity: Traceback(最近一次通话最后):文件“/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_implect_intellij_aspect_implect_aspect语义)文件“/home/michal/.cache/bazel/_bazel_michal/d2759e71c9e0462cf95e741761af2e78/external/intellij_aspect/intellij_in fo_impl.bzl”,第 895 行,在 intellij_info_aspect_impl collect_android_info(target, ctx, semantics, ide_info, <2 more arguments>) 文件“/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 行,在get_res_artifacts for file in resource.files: ... type 'depset' 是不可迭代的。 使用to_list()方法获取列表。 使用 --incompatible_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 > Sync > Expand Sync to Working Set”并重试。 解析构建输出...总规则:0,新/更改:0,删除:0读数Z581D6381F35E4F9D9D77201ACF87B364Z INFOR INFOR INFO结果...更新目标Z1D78DC8DC8DC8ED51214EED FILES FILES FILES FILES FILESEAID ENDECER LOADINED 011 8 EXTARD 7 EXTARD 7 EXTARD 7 EXTARD BOADY BOADY BOANS 1.11; 0 jdeps files, total size 0kB Reading package manifests... Java content entry count: 1 Updating Unpacked AAR libraries... Updating Jar Cache... Prefetching files... Refreshing files Computing directory structure... Committing project structure.. . 工作区有 0 个库 Android 资源模块数:0,运行配置模块:0,订单条目:0,生成的资源:0 工作区有 2 个模块正在更新内存 state... 无法从清单文件中读取:/home/michal /AndroidStudioProjects/bazel/2/examples-master/android/tutorial/AndroidManifest.Z0F635D0E0F 3874FFF8B581C132E6C7A7Z 同步完成

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

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

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

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

You need to clean by `bazel clean --expunge`. It will remove all downloaded artifacts. You should clean and rebuild by below steps. 
  1. 请取消选中“Bazel > Sync > Expand Sync to Working Set”,然后重试。
  2. 通过 intellij 的 bazel 插件构建

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM