Я вижу, что на Maven есть opencv-android
артефакт .
Вы можете зависеть от этого, используя rules_jvm_external
.
В вашем файле WORKSPACE
укажите зависимость вместе с другими внешними зависимостями:
load("@rules_jvm_external//:defs.bzl", "maven_install")
maven_install(
artifacts = [
"org.opencv:opencv-android:1.0.1",
# ...
],
repositories = [
"https://maven.google.com",
"https://jcenter.bintray.com",
],
)
Затем в вашем файле BUILD
, содержащем ваши цели Android, зависит от цели OpenCV:
android_library(
name = "my_lib",
custom_package = "com.example.bazel",
srcs = glob(["java/com/example/bazel/*.java"]),
manifest = "java/AndroidManifest.xml",
resource_files = glob(["res/**"]),
deps = [
"@maven//:org_opencv_opencv_android",
],
visibility = ["//src/test:__subpackages__"]
)
Наконец, вы должны иметь возможность ссылаться на классы, подобные org.opencv.core.Core
, в своем коде Java Java.
PS рассмотрите возможность переключения всех ваших maven_jar
и gmaven_rules
/ gmaven_artifact
использовать rules_jvm_external
.Прежние правила Maven устарели в пользу rules_jvm_external
.