如何在 Bazel 项目中为 d8 设置命令行标志?
How do you set command line flags for d8 in a Bazel project?
例如,如果我想将 --min-api
设置为 26:https://r8.googlesource.com/r8/+/b9cb6ae34047f19320885d9e2c594f81364fa896/src/main/java/com/android/tools/r8/D8CommandParser.java#120
我已经尝试了各种 .bazelrc
组合,并启用了 Bazel 的 -s
标志,以查看使用其标志调用的子命令,但我没有看到任何添加的内容,因为我希望如此:
build:d8 --define=min-api=26
build:d8 --min-api=26
build:d8 --min-api 26
理想情况下,这将设置在 BUILD 文件中的某处,因此它可以根据目标进行配置。
不幸的是,这似乎不可能。 Bazel 使用 CompatDexBuilder
而我们删除了剩余的 dex 支持代码:
和 CompatDexBuilder
似乎硬编码了最低 api 级别:
H_MR2对应13:
我在这里提交了一个 github 问题:https://github.com/bazelbuild/bazel/issues/10556
例如,如果我想将 --min-api
设置为 26:https://r8.googlesource.com/r8/+/b9cb6ae34047f19320885d9e2c594f81364fa896/src/main/java/com/android/tools/r8/D8CommandParser.java#120
我已经尝试了各种 .bazelrc
组合,并启用了 Bazel 的 -s
标志,以查看使用其标志调用的子命令,但我没有看到任何添加的内容,因为我希望如此:
build:d8 --define=min-api=26
build:d8 --min-api=26
build:d8 --min-api 26
理想情况下,这将设置在 BUILD 文件中的某处,因此它可以根据目标进行配置。
不幸的是,这似乎不可能。 Bazel 使用 CompatDexBuilder
而我们删除了剩余的 dex 支持代码:
和 CompatDexBuilder
似乎硬编码了最低 api 级别:
H_MR2对应13:
我在这里提交了一个 github 问题:https://github.com/bazelbuild/bazel/issues/10556