gpt4 book ai didi

android - 为 bazel、android tensorflow 设置 targetSdkVersion 和 compileSdkVersion

转载 作者:行者123 更新时间:2023-11-29 01:13:21 25 4
gpt4 key购买 nike

我需要有关如何为 bazel 分别设置目标和编译 Sdk 版本的帮助。

我想在this之后的手机上运行tensorflow教程。如下编辑 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 做到这一点。 .任何建议表示赞赏!

最佳答案

如果你想针对较低的 Android API 级别,你要编辑的文件实际上是 tensorflow/examples/android/AndroidManifest.xml。将 WORKSPACE 文件设置保留在您通过 sdk 安装的最高 API 级别(可以使用 $ANDROID_HOME/tools/android 安装 API)。

您可以在 AndroidManifest.xml 中将最低 API 级别降低到 19,但请注意,除非您替换与 camera2 api 接口(interface)的演示代码(添加了 API 级别),否则您将在运行演示的手机上遇到运行时错误21) 使用类似的 android.hardware.camera 代码。

关于android - 为 bazel、android tensorflow 设置 targetSdkVersion 和 compileSdkVersion,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41478820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com