| load("@build_bazel_rules_android//android:rules.bzl", "android_library") |
| load("@org_tensorflow//tensorflow/lite/core/shims:cc_library_with_tflite.bzl", "android_library_with_tflite") |
| load("@org_tensorflow//tensorflow/lite/java:aar_with_jni.bzl", "aar_with_jni") |
| |
| package( |
| default_visibility = ["//visibility:public"], |
| licenses = ["notice"], # Apache 2.0 |
| ) |
| |
| exports_files([ |
| "AndroidManifest.xml", |
| ]) |
| |
| filegroup( |
| name = "object_detector_src", |
| srcs = glob(["**/*.java"]), |
| ) |
| |
| # Default target that uses BuiltInOpResolver, registers all built-in OPs. |
| android_library_with_tflite( |
| name = "object_detector", |
| tflite_exports = [ |
| "//tensorflow_lite_support/java/src/native/task/vision/detector:object_detector_native", |
| ], |
| exports = [ |
| ":object_detector_java", |
| ], |
| ) |
| |
| # Java-only target, need to be used together with a native target similar to |
| # //third_party/tensorflow_lite_support/java/src/native/task/vision/detector:object_detector_native. |
| # Use this target when you want to provide a MutableOpResolver with customized |
| # OPs and/or a subset of BuiltInOps to reduce binary size. |
| android_library( |
| name = "object_detector_java", |
| srcs = glob(["*.java"]) + [ |
| "//tensorflow_lite_support/java/src/java/org/tensorflow/lite/task/vision/core:base_vision_api_src", |
| ], |
| javacopts = ["-source 7 -target 7"], |
| manifest = "AndroidManifest.xml", |
| deps = [ |
| "//tensorflow_lite_support/java:tensorflowlite_support_java", |
| "//tensorflow_lite_support/java/src/java/org/tensorflow/lite/task/core:base_task_api", |
| "@com_google_auto_value", |
| "@maven//:com_google_android_odml_image", |
| "@org_tensorflow//tensorflow/lite/java:tensorflowlite_java_stable", |
| ], |
| ) |
| |
| # AAR target for OSS release. |
| # |
| # bazel build -c opt --config=monolithic --config=android_arm64 --fat_apk_cpu=x86,x86_64,arm64-v8a,armeabi-v7a \ |
| # tensorflow_lite_support/java/src/java/org/tensorflow/lite/task/vision/detector:object-detector |
| aar_with_jni( |
| name = "object-detector", |
| android_library = ":object_detector", |
| ) |