【问题标题】:TensorFlow Android demo: unable to build with Bazel, could not read RELEASE.TXTTensorFlow Android 演示:无法使用 Bazel 构建,无法读取 RELEASE.TXT
【发布时间】:2016-07-04 14:24:10
【问题描述】:

最近我一直在学习如何使用 TensorFlow,并想在我的计算机上设置 Android 演示,看看它们是如何工作的。我按照here 提供的说明进行操作,唯一的区别是我通过 Android Studio 安装了 Android SDK,并通过 SDK Manager 安装了 Android NDK。直到$ bazel build //tensorflow/examples/android:tensorflow_demo,一切正常,但在那之后,我从终端收到了这个错误:

ERROR: no such package '@androidndk//': Could not read RELEASE.TXT in Android NDK: /home/me/.cache/bazel/_bazel_me/f3471be34d1e62bf21975aa777cedaa3/external/androidndk/ndk/RELEASE.TXT (No such file or directory).
ERROR: no such package '@androidndk//': Could not read RELEASE.TXT in Android NDK: /home/me/.cache/bazel/_bazel_me/f3471be34d1e62bf21975aa777cedaa3/external/androidndk/ndk/RELEASE.TXT (No such file or directory).

通过查看类似问题,我的理解是此错误是因为最新版本的 Android NDK 中未包含 RELEASE.TXT 文件。 This issue 建议降级到包含 RELEASE.TXT 文件的先前版本的 NDK,并提供下载此类版本的链接。但是,我关注的链接 (https://dl.google.com/android/ndk/android-ndk-r10e-linux-x86_64.bin) 下载了一个 .bin 文件,这对我来说是不可用的。该帖子还建议将 WORKSPACE 文件中的 NDK 条目注释掉,但我还没有尝试过,因为我不知道这是否会导致进一步的复杂化。

我尝试过的另一种方法是转到错误日志 (/home/me/.cache/bazel/_bazel_me/f3471be34d1e62bf21975aa777cedaa3/external/androidndk/ndk) 指示的路径并创建一个空白的 RELEASE.TXT 文件,这没有任何区别。 (我无法在我安装的 NDK 中创建一个,因为它是路径 /home/me/android-studio/android-studio/plugins/android-ndk/lib 处的 .jar 文件形式,因此我能看到的唯一方法就是这条路径。)

就目前而言,我处于死胡同。是否有其他方法可以在不降级或注释掉 NDK 条目的情况下解决此问题?如果没有,如何安装以前版本的 Android NDK?

【问题讨论】:

    标签: android android-ndk tensorflow bazel


    【解决方案1】:

    我还在 TensorFlow 的官方 GitHub 存储库中将其作为问题 #3175 发布,并且已得到解决。可以在该线程中找到我为解决问题所遵循的步骤的逐个播放。这有点令人费解,所以我认为可以解决这样一个问题的步骤如下:

    1. 如果您在 git 克隆 TensorFlow 存储库时未使用 --recursive 选项,请使用该选项重新克隆它。
    2. 降级到 Android NDK r11c(并确保相应地更新 WORKSPACE 文件)。 Linux 版本的链接可以在 GitHub 线程中找到。
    3. 检查您的 Android SDK 和构建工具的版本。如果它们与 WORKSPACE 文件中写入的默认版本不同,请务必进行更改。
    4. 您可能会遇到迄今为止尚未解决的 TensorFlow 问题。 (#3374) 如果是这样,请运行 ./configure 作为解决方法。

    这应该允许 Bazel 构建成功进行。

    【讨论】:

      【解决方案2】:

      您是否考虑过在不使用 Bazel 的情况下使用另一种方法来编译适用于 Android 的 TensorFlow?在TensorFlow Makefile中有描述

      【讨论】:

      • 该链接用于构建 TensorFlow 本身,我已经完成(成功)。我正在尝试构建 TensorFlow Android 演示,但没有成功。
      猜你喜欢
      • 2017-03-06
      • 1970-01-01
      • 2019-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多