0

例如,如果我想设置--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 文件中的某个位置,因此它可以针对每个目标进行配置。

4

1 回答 1

1

不幸的是,这似乎是不可能的。BazelCompatDexBuilder在我们删除剩余的 dex 支持代码时使用:

https://github.com/bazelbuild/bazel/blob/d1ff8c2d15454444094f94765d4b57ce0232bb51/tools/android/BUILD.tools#L42

并且CompatDexBuilder似乎对最小 api 级别进行了硬编码:

https://r8.googlesource.com/r8/+/41d2ea5adff39b579b297219310199fd566e778b/src/main/java/com/android/tools/r8/compatdexbuilder/CompatDexBuilder.java#169

H_MR2对应13:

https://r8.googlesource.com/r8/+/60e493f814cb2a37e3b02a30c09023c56b6d1bf9/src/main/java/com/android/tools/r8/utils/AndroidApiLevel.java#32

我在这里提交了一个 github 问题:https ://github.com/bazelbuild/bazel/issues/10556

于 2020-01-09T20:54:02.083 回答