当我尝试使用--incompatible_disable_native_android_rules
构建项目时,出现下一个错误:
ERROR: /home/user/.cache/bazel/_bazel_user/aee0be3e153556afb3ddc0b7aea89213 /external/androidsdk/BUILD.bazel:8:1: in tags attribute of android_sdk rule @androidsdk//:sdk-28: The native Android rules are deprecated. Please use the Starlark Android rules by adding the following load statement to the BUILD file: load("@build_bazel_rules_android//android:rules.bzl", "android_sdk"). See http://github.com/bazelbuild/rules_android.. Since this rule was created by the macro 'create_android_sdk_rules', the error might have been caused by the macro implementation in /home/user/.cache/bazel/_bazel_user/aee0be3e153556afb3ddc0b7aea89213/ external/androidsdk/BUILD.bazel:8:1。
在安装Bazel 0.27之后,我使用
load("@rules_android//android:rules.bzl", android_sdk_repository_rule = "android_sdk_repository") ... def my_sdk_rule(name = None, api_level = None, build_tools_version = None): android_sdk_repository_rule( name = name, api_level = api_level, build_tools_version = build_tools_version, )
,如https://github.com/bazelbuild/bazel/issues/8391中所述。
有人遇到过这个问题吗?
答案 0 :(得分:0)
这是因为android_sdk_repository
工作区规则生成本机android_sdk
规则:
https://github.com/bazelbuild/bazel/blob/ebfd3bcb0baec0774db584fd3ff5445a1ec7925b/tools/android/android_sdk_repository_template.bzl#L107