我需要帮助如何为 bazel 设置目标和单独编译 Sdk 版本。
我想在手机上运行tensorflowthis教程。编辑 bazel 的 WORKSPACE 后如下:
android_sdk_repository(
name = "androidsdk",
api_level = 24,
build_tools_version = "24.0.1",
path = "/home/Android/Sdk",
)
android_ndk_repository(
name="androidndk",
path="/home/Android/Sdk/ndk-bundle",
api_level=21)
安装 apk 后,我在手机上收到 PARSE ERROR:
adb install -r bazel-bin/tensorflow/examples/android/tensorflow_demo.apk
我启用了 USB 调试和第 3 方 apk 安装。手机使用 Android 4.4.4,因此我更改了 WORKSPACE 配置以匹配它(SDK 管理器正确安装的工具和 API):
android_sdk_repository(
name = "androidsdk",
api_level = 19,
build_tools_version = "19.1.0",
path = "/home/Android/Sdk",
)
android_ndk_repository(
name="androidndk",
path="/home/Android/Sdk/ndk-bundle",
api_level=21)
构建后为:
bazel build //tensorflow/examples/android:tensorflow_demo
我最终遇到了一些此类错误:
Error at 5 : /tmp/android_resources_tmp7060220119759636814/merged_resources/values-v21/values.xml:5: error: Error retrieving parent for item: No resource found that matches the given name 'android:Theme.Material.Light'.
下列的this回答,我应该构建编译 API 版本 > 21,但同时目标 API 版本 19。它可以轻松地为 gradle 设置。但是我还没有找到任何线索如何做到这一点bazel。任何建议表示赞赏!